(原书是没有用scanf_s的,这vs显示错误才换的
scanf_s("%s",name,40);
scanf_s函数输入字符串时,必须指定允许的字符串长度
scanf是以前的写法。
scanf_s是为了防止内存溢出的新写法。如果不想直接用scanf_s
可以使用
#pragma warning(disable:4996)
加在头文件上。
scanf_s还需要一个参数,是输入的长度。
#include<stdio.h>
#include<cstring>
struct Student
{
char name[10];
char sex[10];
int age;
char city[10];
char grade[10];
};
int main()
{
struct Student stu1;
printf("请输入姓名:");
scanf_s("%s", &stu1.name,10);
printf("请输入性别:");
scanf_s("%s", &stu1.sex,10);
printf("请输入年龄:");
scanf_s("%d", &stu1.age,4);
printf("请输入城市:");
scanf_s("%s", &stu1.city,10);
printf("请输入年级:");
scanf_s("%s", &stu1.grade,10);
printf("姓名:%s\n", stu1.name);
printf("性别:%s\n", stu1.sex);
printf("年龄:%d\n", stu1.age);
printf("城市:%s\n", stu1.city);
printf("年级:%s\n", stu1.grade);
return 0;
}