小白的C语言程序 结构体

为什么打印不出每个人的信息,该怎么修改?

刚学的小白

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的参数,不需要是指针