新手问题 求改正

Seffrui_M Seffrui_M 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
#define LEN sizeof(struct student)
struct student
{
char name[20];
long number;
char sex;
int score[3];
}stu[100];
int input(struct student *p)
{
int i;
p->name[0]='a';
printf("请输入学生姓名 学号 性别 分数 以#结束\n");
for(i=0;i<SIZE;i++)
{
scanf("%s%ld%c%d%d%d",(p+i)->name,&(p+i)->number,&(p+i)->sex,&(p+i)->score[0],&(p+i)->score[1],&(p+i)->score[2]);
if(((p+i)->name[0])=='#')
break;
}
printf("n=%d\n\n",i-1);
return i-1;
}
void output(struct student *p,int n)
{
int i=0;
for(;i<n;i++)
printf("%-10s%-12ld %c%5d%5d%5d\n",(p+i)->name,(p+i)->number,(p+i)->sex,(p+i)->score[0],(p+i)->score[1],(p+i)->score[2]);
}
int main()
{
int n;
struct student *p;
p=stu;
n=input(p);
output(p,n);
return 0;
}

运行后如图 求问题原因啊 求改正 为什么我连着打了两个#才可以结束 而且输出的分数是0?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
Seffrui_M
新手乐园 33,315 成员 41,769 内容