搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ C语言问题!
标题:
C语言问题!
只看楼主
a505720273
等 级:
新手上路
帖 子:3
专家分:0
注 册:2009-8-17
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:2
C语言问题!
题目如下:
计算a加b。
两个整数a和b,其中0≤a, b≤10。
输出a与b的和。
答案如下:
#include<stdio.h>
int main()
{
int a,b;
while(scanf("%d%d",&a,&b) != EOF)
{
printf("%d\n", a+b);
}
return 0;
}
为什么是这样啊 while(scanf("%d%d",&a,&b) != EOF)
里面为什么用while啊 !=EOF 是什么意思啊
搜索更多相关主题的帖子:
TAG
2009-08-17 15:32
soler
等 级:
蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
第
2
楼
得分:5
这个地方的EOF就是ctrl+z,表示文件结束。。。end of file
这个地方的while循环表示无限次的啊,只要你不按ctrl+z组合键,循环就不会结束。
你这段代码执行的时候你会发现输入字母会出现死循环。。。。
输入语句之后应该放个fflush(stdin)或者getchar()
2009-08-17 15:48
UserYuH
来 自:毅华
等 级:
火箭侠
威 望:
8
帖 子:720
专家分:3300
注 册:2009-8-10
第
3
楼
得分:15
while(scanf("%d%d",&a,&b) != EOF)
EOF 相当于-1
scanf函数会反回一个非零或0的整型值,也就是 1 和 0
当输入ctrl+z,scanf函数反回-1,这时循环才结束。
给你个代码实验一下。
#include <stdio.h>
main()
{
int x,y;
while(1)
{
x=scanf("%d",&y);
printf("%d %d\n",x,EOF);
if(x==EOF)
{
printf("x==EOF\n\n");
break;
}
}
}
收到的鲜花
a505720273
于
2009-08-18 10:20
送鲜花
3朵
努力—前进—变老—退休—入土
2009-08-17 16:14
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-283021-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029401 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved