大部分c语言函数都是正确返回0,错误返回-1。但是有些函数光靠状态无法反应更多的东西,比如:scanf成功...
专家解答 scanf函数的返回值很少有人用到,它是一个整数,用于表示成功输入数据的个数,请看下面的例子...
1. scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b); 如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量); 如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。 2) 0,表示用户的输入不匹配...
while(~scanf(..))为什么可以这样写 因为读到文件的结束符时,scanf返回值是EOF,也就是-1,而~(-1)的作用就是对-1的按位取反。 在计算机中,数字按补码存储,正数的补码和原码一样,负数的补码是其反码+1,反码也就是符号位仍为1,其它是原码取反。 以8 位二进制数来讨论,-1的原码是1000 0001,因此-1的...
比如scanf("%d", &n);有如下情况:1. 当输入为一个整数时,读取到n,scanf返回值是1(表示成功读取了一个数),ok,继续执行 2. 当输入为EOF(通常切的题目有多组数据,会使用EOF表示输入结束),这时,没有读取输入到n,scanf返回值是-1,所以您的代码==1就不成立,所以会跳出循环。而如果是...
1. scanf 函数是有返回值的,它的返回值可以分成三种情况 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &i, &j); 如果用户输入"1 2",可以正确输入,返回2(正确输入了两个变量); 如果用户输入"1,1",可以正确输入i,无法输入j,返回1(正确输入了一个变量)。
scanf("%d",&x)其返回值为正确输入的变量个数. 正确执行时会成功给x赋值,即赋值了一个变量. 返回1.当出错的时候,比如输入了字母,那么就会返回0.当遇到文件结束标记EOF的时候,会返回-1.所以,这个代码,不一定要ctrl +z 输入任意非数字字符就可以终止循环了.ctrl +Z 就是windows上输入EOF标记的...
当您运行的应用程序调用_sntscanf_s函数时,则调用应返回EOF(-1)值。但是,当您运行 Windows 10 企业 2015 LTSB 应用程序,请插入的 null 字符将被忽略。这会导致接收错误的值为1,而不使用EOF (-1)值的numFields字段。 例如,下面的 Visual C++ 应用程序中发生此...
scanf()函数返回成功赋值的数据项数,出错时则返回EOF(-1)。 其控制串由三类字符构成: 格式化说明符; 空白符; 非空白符; (A) 格式化说明符 附加格式说明字符表 (B) 空白字符 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为...
scanf函数的返回值为所输入数据的个数,你所给的语句的意思是输入字符串给c后判断所输入数据的个数是否不等于-1,呵呵,循环永远为真。