70,021
社区成员




今天下载了 VS-2022 想复习一下C语言的结构体,结果刚上来就遇到了这个问题:
这是我的程序:
#include <stdio.h>
#include <string.h>
/*
* 1.什么是结构体?
* 1.1多个具有共同属性的事物
* 1.2和普通变量的区别
* 2.如何定义一个结构体
* struct 结构体名
* {
* //数据成员--->基本数据成员表示
* }
* 3.如何访问结构体中的成员
* 3.1结构体中的成员必须通过结构变量去访问
* 3.2访问方式:结构体变量.成员
* 3.3指针访问 专属的访问方法 : 指针->成员
*/
typedef struct Personnel{
char name[100];
int age;
int num;
}personnel;
int main(void)
{
int i;
//注意点:结构体中的字符数组,不能采用赋值的方式
//Anni.name = "Anni"; 数组不能直接赋值
personnel personnels[10];
strcpy(personnels[0].name, "Anni");
strcpy(personnels[1].name, "Tom");
personnels[0].age = 18;
personnels[1].age = 19;
personnels[0].num = 1;
personnels[1].num = 2;
for (i = 0; i < 2; i++)
{
printf("序号:%d\t姓名:%s\t年龄:%d\n" ,personnels[i].num , personnels[i].name ,personnels[i].age);
}
return 0;
遇到的问题:
C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
最后也是在 B站某大佬的教学视频中找到了解决问题的方法:
因为这是编译器的问题所以我们需要修改便一起的相关属性:
1.右键点击我们的工程选择属性:
2.在属性页的C/C++里将 SDL 检查 选择为 否
3.重新编译程序
解决了,谢谢
我建议开头加 #pragma warning(disable:4996)
没有解决
为什么还是报错啊