关于结构体数组输入和输出的一个小问题

C语言 码拜 9年前 (2016-04-19) 1270次浏览
两个小细节,困扰了四个小时。没办法正常输出。
大家帮看下问题在哪。
#include
struct jiegouti1
{
char name[20];
int number;
char csex[20];
int igrade;
}xuesheng[5] = { {“sd”,10,”fd”,45},{“sd”,10,”fd”,45},{“sd”,10,”fd”,45},{“sd”,10,”fd”,45},{“sd”,10,”fd”,45} }
;
int main()
{
int j;
for (j = 0; j < 5;j ++);
{
printf(“top%d”,j+1);
printf(“%s”, xuesheng[j].name);
printf(“%d”, xuesheng[j].number);
printf(“%s”, xuesheng[j].csex);
printf(“%d”, xuesheng[j].igrade);
printf(“\n”);
};
return 0;
}
上面的是教材提供,本人敲出来的。
下面是本人写的。
#include
#define Printfshuchu printf(“%s %d %s %d”,xuesheng[j].name,xuesheng[j].number,xuesheng[j].csex,xuesheng[j].igrade);
struct jiegouti1
{
char name[20];
int number;
char csex[20];
int igrade;
}xuesheng[5]
;
int main(void)
{
int i,j;
for (j = 0; j < 5; j++);
{
scanf_s(“%s”, &xuesheng[j].name, 20);
scanf_s(“%d”, &xuesheng[j].number);
scanf_s(“%s”, &xuesheng[j].csex, 20);
scanf_s(“%d”, &xuesheng[j].igrade);
}
for (j = 0; j < 5;j ++);
{
printf(“top%d \n”,j+1);
Printfshuchu(printf);
};
return 0;
}
+++++++++++++++++++++++++++++++++++++++++
最后都抽了一包烟了 才发现问题。
然后动了两下撤销问题解决。
本人疏忽大意导致四个小时的浪费和各种不解,一直需找各种代码输入错误,
却不知是本人的马虎。
发帖检讨本人,顺便算是一个给本人和坛友的一个提醒。
解决方案

5

两处 for (j = 0; j < 5; j++) 这个后面都多了一个分号

10

常有的事情,有时候会出现多了,少了个分号,大括号的错误
结果往往系统报错是某某头文件错误

5

引用:

常有的事情,有时候会出现多了,少了个分号,大括号的错误
结果往往系统报错是某某头文件错误

偶遇到相似问题都是用
“每次用/*…*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于结构体数组输入和输出的一个小问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)