为什么打印不出每个人的信息,该怎么修改?
刚学的小白
printf里参数s[i]前不需要加&,你这句输出的是地址。
把19,20行放到for的{}里。
下面找最大建议用循环。
20行的printf中,s[i]前面的&去掉。
19行和20行,放在{}里,如下:
for(i = 0; i < 3; i++)
{
s[i].total = s[i].exama + s[i].examb;
printf("%u %s %5d %5d %5d\n",s[i].num,s[i].name,s[i].exama,s[i].examb,s[i].total);
}
主要是 printf后面的数组不需要取地址符号,改为s[i].num,s[i].name,s[i].exama,s[i].examb,s[i].total就可以了!望采纳!
给一条非常诚恳的忠告,编程的时候,把所有warning也要一并处理掉,这样就能发现问题了,友情提示你看一下下面的报警,都提示你了,printf的参数,不需要是指针