C语言,为什么在输入链表数据的时候总是报错?
发布网友
发布时间:2022-04-26 07:15
我来回答
共2个回答
热心网友
时间:2023-10-08 21:21
按照程序定义,name项只能保存一个字符,而不是一个字符串,保存字符串需要char类型的数组。id也是这样。
#include <stdio.h>
struct Student { char name[20],id[20]; int score; };
int main() { int i,n; struct Student stu[50];
scanf_s("%d", &n);
for ( i = 0; i < n; i++) {
printf("第%d位学生信息\n",i+1);
scanf_s("%s", stu[i].name); scanf_s("%s", stu[i].id);
scanf_s("%d", &stu[i].score); //需要取地址
}
...
return 0;
}
热心网友
时间:2023-10-08 21:21
struct Student
{
char name[20];
char id[20];
这里要定义为数组,不然就太小了
scanf_s("%s", stu[i].name, 19);
scanf_s("%s", stu[i].id, 19);
scanf_s("%d", &stu[i].score);
这里scanf_s用得也不对
for (int a = 0; a < n-1; a++)
for (int b = 0; b < n-1; b++)
这两个也得改