FX–飞雪 2022-03-16 13:29 采纳率: 55.6%
浏览 247
已结题

这个为什么打印不了啊?vs2022

#include<stdio.h>
#define PRAISE "YOU are an extraordinary being."
int main(void)
{
char name[40];
printf("What's you**r name? ");
scanf_s("%s",name);
printf("Hello, %s. %s\n", name, PRAISE);
return 0;
}

运行结果及报错内容

已启动生成…
1>已启动生成: 项目: 测试, 配置: Debug x64
1>Test.c
1>D:\VS2022\测试\Test.c(166,10): warning C4473: “scanf_s”: 没有为格式字符串传递足够的参数
1>D:\VS2022\测试\Test.c(166,10): message : 占位符和其参数预计 2 可变参数,但提供的却是 1 参数
1>D:\VS2022\测试\Test.c(166,10): message : 缺失的可变参数 2 为格式字符串“%s”所需
1>D:\VS2022\测试\Test.c(166,10): message : 此参数用作缓冲区大小
1>测试.vcxproj -> D:\VS2022\测试\x64\Debug\测试.exe
1>已完成生成项目“测试.vcxproj”的操作。

严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C6064 缺少“scanf_s”的整型参数(对应于转换说明符“2”)。 测试 D:\VS2022\测试\Test.c 166
警告 C4473 “scanf_s”: 没有为格式字符串传递足够的参数 测试 D:\VS2022\测试\Test.c 166

  • 写回答

3条回答 默认 最新

  • 关注

    方法一:
    把scanf_s("%s",name);改成

    scanf_s("%s", name,40);
    
    

    方法二:
    把scanf_s("%s",name);改成 scanf("%s",name);
    在文件的第一行添加如下代码:(一定要在第一行)

    #define _CRT_SECURE_NO_WARNINGS 1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月16日

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题