关于scanf在for中循环读取的问题。在C中第一个scanf在for循环scanf里面无效,如果是一个scanf会结束循环?

一般在读到输入流结尾时scanf返回嘚是EOF。

EOF是在头文件stdio.h中定义的常量一般为-1。

-1 的原码是反码是1111110,补码是复习一下,正数的原码、反码、补码都是一样的;负数的原码是苻号位为1反码是(对原码)符号位不变、其余位取反,补码是(对原码)符号位不变、其余位取反、末位加1.

~EOF则是对EOF进行按位取反操作則为。所以while条件不满足循环结束。

我要回帖

更多关于 for循环scanf 的文章

 

随机推荐