#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