我在做书上的练习要求为输入5个学生的基本信息,然后将学号最大的输入的屏幕端
这是我的代码
#include <stdio.h>
#include <string.h>
struct STU{
char name[200];
int age;
char sex;
char num[20];
};
void OutputSTU(struct STU stu[5]);
int main(void)
{
int i;
struct STU stu[5];
for(i=0;i<5;i++){
printf("请输入第%d个学生的信息:\n",i+1);
scanf("%s%d% c%s",stu[i].name,&stu[i].age,&stu[i].sex,&stu[i].num);
}
OutputSTU(stu);
return 0;
}
void OutputSTU(struct STU stu[5])
{
struct STU stumax=stu[0];//函数中借用一个暂时的stumax变量
int j;
for(j=1;j<5;++j){
if(strcmp(stumax.num,stu[j].num) < 0){
stumax=stu[j];
}
}
printf("姓名:%s\n年龄:%d\n性别:%c\n学号:%s\n",stumax.name,&stumax.age,stumax.sex,stumax.num);
return 0;
}
当我运行时出现了这样的问题,如图:
输入完第一和第二个之后发现第三和第四的printf一块打印了出来
我不理解这是怎么回事
同时这是我的warning:
[Warning] 'return' with a value, in function returning void