求问while(scanf("%d",&L)==1)的循环终止条件是什么 初学C语言 while(scanf("%d",&n)==1)...

作者&投稿:禾花 (若有异议请与网页底部的电邮联系)
scanf()函数的返回值是扫描到的有效输入项的数目,所以,
while(scanf("%d",&L)==1)的循环终止条件是:
输入非数字字符及回车(如,s回车)
或者
输入ctrl+z

另外
a[b]++的意思当然是a的第b个(从0数起)元素加1,但如果a,b均为数组,则b为其首元素的地址(即,b等价于&b[0]),这应该无法通过编译吧。

当未能正确的读入一个整数到L中时,终止循环。
scanf()函数返回正确的读入的个数。以你的例子来说,正确的读入一值则返回1;如果读到流结尾,则返回-1;如果未到结尾,但出错了,则返回0。

a[b]++的意思,是数组a中第b个元素(从0开始数)自加1。a是数组,但b不该是数组,应是整数。

只能输入一个数 然后循环退出 数组 没有这种写法

while(scanf("%d",&x) == 1)//ctrl+z到底是怎么作用,终止循环?~

scanf("%d",&x)
其返回值为正确输入的变量个数. 正确执行时会成功给x赋值,即赋值了一个变量. 返回1.
当出错的时候,比如输入了字母,那么就会返回0.
当遇到文件结束标记EOF的时候,会返回-1.
所以,这个代码,不一定要ctrl +z 输入任意非数字字符就可以终止循环了.
ctrl +Z 就是windows上输入EOF标记的方法,会引起scanf返回-1

scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功。 while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环。

c语言中while(~scanf("%d",&k))怎么理解?
答:首先你看一下scanf含糊的返回值 scanf()函数有返回值且为int型 scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。这样就容易理解了,这个代码的意思是当该函数未成功获取到整数给k(...

while (scanf("%d",&a)<2) 为什么输入字母会一直循环下去,不应该循环一 ...
答:scanf("%d",&a); 应当键入数字,如果键入字母,scanf 语句执行失败,a当中未取得输入值,scanf函数返回0。不一定是死循环,根程功编制的能有关。有些情况,是由于输入流里的你键入的字母没有被清掉,后面的输入语句连续...

下面程序中 while (scanf("%d %d", &a, &b) == 2)什么意思?
答:scanf("%d%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0

c语言中while(scanf("%d",&a)!=EOF)是什么意思
答:这个是因为scanf每次只根据你写的格式 读取数据, 比如按你的 如果 输入 1 2 3 4 5 6, 他就会读取俩个数据, 1和2 ,然后输出a+b=3 然后再次进入while循环, 读取俩个数据,3 和4 输出7 但是因为EOF特殊,...

while (scanf("%d%d", &m, &n))什么意思?
答:scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。如:scanf("%d,%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值...

while(scanf("%d%d",&a,&b)!=EOF)是什么意思
答:EOF=end of file 这回你知道什么意思了吧 scanf函数的返回值说明。Returns the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A ...

c语言 while(scanf("%d",&n)!=EOF,n) 是什么意思?
答:你好,EOF的值其实就是-1,当scanf读取内容发生错误或者读到文件结尾的时候就会返回EOF,那个while的意思就是说当当前输入缓存还有东西时就一直读取,直到输入缓存中的内容为空时停止。

while( scanf( "%d" , &n ) , n )是什么意思啊
答:while 语句的括号内填的是一个逗号表达式,而逗号表达式会从左到右依次执行各个子式,最终结果是最后一个子式的值。所以你这个语句的效果,相当于先输入 n,然后判断 n 是否为零,如果是就不执行循环体,否则执行循环体 ...

c语言中 while (scanf("%d".&a) == 1) 什么意思?
答:应该是 scanf("%d",&a),scanf()是一个输入函数,输入一个int值存到a里面,同时scanf是有返回值的,表示输入值的个数,此处若scanf只输入一个变量,其返回值就等于1,while循环条件成立,进入循环体。

c语言的问题关于while(scanf(“%d",&sum)!=1)
答:三点:scanf从缓冲区读取:你输入的字符串会保存在一个缓冲区内,scanf在正确的时候是到这个缓冲区中读取字符,并且从缓冲区中删除字符。但如果是%d格式碰到了字母,则不会读取也不会删除,之后ABC还在缓冲区内。scanf不停止...