一般在读到输入流结尾时scanf返回嘚是EOF。
EOF是在头文件stdio.h中定义的常量一般为-1。
-1 的原码是反码是1111110,补码是复习一下,正数的原码、反码、补码都是一样的;负数的原码是苻号位为1反码是(对原码)符号位不变、其余位取反,补码是(对原码)符号位不变、其余位取反、末位加1.
~EOF则是对EOF进行按位取反操作則为。所以while条件不满足循环结束。
一般在读到输入流结尾时scanf返回嘚是EOF。
EOF是在头文件stdio.h中定义的常量一般为-1。
-1 的原码是反码是1111110,补码是复习一下,正数的原码、反码、补码都是一样的;负数的原码是苻号位为1反码是(对原码)符号位不变、其余位取反,补码是(对原码)符号位不变、其余位取反、末位加1.
~EOF则是对EOF进行按位取反操作則为。所以while条件不满足循环结束。