首页
社区
课程
招聘
[求助]scanf函数的疑惑
发表于: 2008-5-11 16:14 4114

[求助]scanf函数的疑惑

2008-5-11 16:14
4114
1
2
3
4
5
6
7
8
9
10
11
12
13
while(1)
{
    printf("\nS%d Name=",i);
    gets(name[i]);
    if (name[i][0]==0)
        break;
    printf("\nScore=");
    scanf("%d %d %d",&s[i][0],&s[i][1],&s[i][2]);
    s[i][3]=(s[i][0]+s[i][1]+s[i][2])/3;
    sum=sum+s[i][3];
    i++;
    getchar();
}

要用C做一个类似学生管理系统的简单程序,如果名字什么都不输入就表示输入结束,跳出循环
一开始没getchar()这句,输完第一个学生的名字和成绩就直接跳出循环....貌似scanf那多出个回车了,后来实在没办法,加了句getchar(),程序就正常了...
到底是什么原因???望赐教..

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (1)
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
我们早上没课
下午开始学编程   不是学C就直接学C#了
但C我了解一点
我也遇到过这种情况
就是输入完后按下回车的时候会多个回车符
加getchar()是一种方法
还有就是就是在scanf()中的%d前面加上一个空格
比如你上面的可以改为scanf(" %d %d %d,.....);
注意最前面加了一个空格
2008-6-2 09:18
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册