当前位置: 代码迷 >> C语言 >> [求助]
  详细解决方案

[求助]

热度:194   发布时间:2005-12-02 23:31:00.0
[求助]

struct student{

int num;

char name[20];

int score[3];}stud[4];

print(struct student *p)

{for(;p<=stud+4;p++)

printf(("%d,%s,%d,%d,%d\n",p->num,p->name,p->score[0],p->score[1],p->score[2]);
}
main()

{int i=0;

for(i=0;i<=4;i++);

scanf("%d,%s,%d,%d,%d\n",&stud[i].num,&stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);

print(stud);}

输入与输出本来应该一致的,可是跑出来是

比方输入1,1,1,1,1输出1,1,1,1,1,0,0,0   

求助啊!!!!

搜索更多相关的解决方案: name  stud  num  int  

----------------解决方案--------------------------------------------------------
首先你去看一下林锐的高质量编程,你写的代码的格式只能打0分。
然后,for(i=0;i<=4;i++);
把后面的分号去掉,就正确了!
----------------解决方案--------------------------------------------------------
scanf("%d,%s,%d,%d,%d\n",&stud[i].num,&stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
[QUOTE]scanf("%d,%s,%d,%d,%d\n"[/QUOTE]
这一句????
----------------解决方案--------------------------------------------------------
2楼正解,1楼说的只是打错,但这句为什么不可以呢??

换成(scanf("%d%s%d%d%d\n"

好了,

但我不明白scanf("%d,%s,%d,%d,%d\n"为什么错
----------------解决方案--------------------------------------------------------
1楼说的林什么的,高质量变成在哪里啊
----------------解决方案--------------------------------------------------------

沉的好快,顶


----------------解决方案--------------------------------------------------------

我记得我已经硕果这个问题了

如果用scanf("%s",s)输入一个字符串的时候

它要求要有一个回车符作为输入的结束标志

如果在你的字符串的后面还有"%d"等要求输入一个数字的要求

放在一起是不行的

因为它把你后面的所有的输入全当成字符串

所以你的数字是没有任何的输入


----------------解决方案--------------------------------------------------------
如果不提出一些粗心错误
比如 for(i=0;i<=4;i++); 之类的话

你的出错的原因很简单,因为%s在3个%d之前,如果你输入
1,vlinux,100,90,80
那么程序将会把
1 => num
vlinux,100,90,80 => name
0 => score[0]
0 => score[1]
0 => score[2]
故输出为1,vlinux,100,90,80,0,0,0
也就是说程序把 vlinux,100,90,80 当成字符串处理了,主要问题已经给出,剩下的自己想想啦

----------------解决方案--------------------------------------------------------
收到,

c的输入输出有点繁,

因为我习惯了,scanf("%d,...);

觉得有个豆号分割好判断一点,

受教了,谢谢啊
----------------解决方案--------------------------------------------------------
  相关解决方案