关于这句:while(scanf("%d"&N)==一)

关于这句:while(scanf(%d,&N)1)想实现输入数字就处理,输入回车就退出循环的效果。网上说这个可以实现:w

关于这句:while(scanf("%d",&N)==1)
想实现输入数字就处理,输入回车就退出循环的效果。

网上说这个可以实现:
while(scanf("%d",&N)==1)
{

}
但是我在DEV C++和VC6里头试了都不行呢?

请问各位大侠应该怎么实现我说的效果?
[解决办法]
输入ctrl+z再按回车就会退出循环。。
[解决办法]
要求有问题啊!
你是想输入1就处理,但是你想输入12怎么办?
[解决办法]
放在while里面,直到按下CTRL+Z,才可以退出
[解决办法]
CTRL+Z
[解决办法]
此时的scanf还没有返回呢。

因为你只是敲回车,输入流中没有任何东西(其实是有东西的,就是“回车”,只是它很特殊,不会参与到int的解析中),scanf得不到满足(它希望看到整数),所以没有动作,没有返回。

与次对比,你输入个'a'再敲回车,这次就能退出了。因为此时输入流中有'a'加上一个回车,跟上面对比,scanf无法从'a'中提取一个整数,所以返回了,且返回值0,表示没有提取int,while就能退出了。