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

[求助]scanf函数的疑惑

2008-5-11 16:14
4030
	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直播授课

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