菜鸟跪求下面c语言程序不能运行的原因?

#include<stdio.h>#include<string.h>structstu{longno;charname[5];intage;intscore;};str... #include<stdio.h>
#include<string.h>
struct stu
{long no;
char name[5];
int age;
int score;
};
struct stu stu[5];
void main()
{printf("输入");
void input();
printf("输出");
void output();}
void input()
{int i;
printf("input 3 students:\n");
for(i=0;i<=2;i++)
{scanf("%d",&s[i].no);
gets(s[i].name);
scanf("%d",&s[i].age);
scanf("%d",&s[i].score);
printf("\n");
};
void output()
{int i;
for(i=0;i<=2;i++)
{
printf("%d%s%d%d",s[i].no,s[i].name,s[i].age,s[i].score");
};
};
展开
 我来答
ch_ph
2011-02-24
知道答主
回答量:27
采纳率:0%
帮助的人:30万
展开全部
问题比较多,最重要的问题就是格式太乱了,我改了一下:

#include<stdio.h>
#include<string.h>
struct stu {
long no;
char name[5];
int age;
int score;
};

struct stu s[5]; //此处原,变量名称错了,与下面的s[]不一致
void input(); //函数定义最好放到Main之前
void output();
int main() {
printf("输入");
input();
output();
printf("输出");
}
void input() {
int i;
printf("input 3 students:\n");
for (i = 0; i <= 2; i++) {
scanf("%d", &s[i].no);
gets(s[i].name);
scanf("%d", &s[i].age);
scanf("%d", &s[i].score);
printf("\n");
} //for循环之后不用加分号了,呵呵。。。
}//这里之前缺一个大括号
void output() {
int i;
for (i = 0; i <= 2; i++) {
printf("%d%s%d%d", s[i].no, s[i].name, s[i].age, s[i].score);
}
}
匿名用户
2011-02-24
展开全部
main()函数中
调用input()和output()之前的void去掉,
如果不去掉,就是代表声明这两个函数,而不是调用,所以不会执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuyan12600
2011-02-24 · 超过31用户采纳过TA的回答
知道答主
回答量:159
采纳率:0%
帮助的人:135万
展开全部
void input();这个是函数的声明
函数的声明一般写在函数体的外面,比如.h的头文件 和.c文件的开头
input();这个才是函数的调用写法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式