- 论坛徽章:
- 0
|
题目:
验证表达式 getchar () != EOF的值是0还是1。
这个是我自己写的,运行结果很奇怪:
#include <stdio.h>
main()
{
int c;
for ( ;(c = getchar()) != EOF; putchar(c) )
printf("%d -at EOF\n",c);
}
|
amro@home:~/doc/c$ ./1.5.1c.out
1
49 -at EOF
110 -at EOF
t
116 -at EOF
t10 -at EOF
|
这个是从书上抄的答案,运行起来也很奇怪:
#include <stdio.h>
main()
{
int c;
while ((c = getchar()) != EOF){
printf("%d \n",c);
printf("%d -at EOF\n",c);
}
}
|
amro@home:~/doc/c$ gcc -o 1.5.1d.out 1.5.1d.c
amro@home:~/doc/c$ ./1.5.1d.out
t
t116 -at EOF
10 -at EOF
d
d100 -at EOF
10 -at EOF
|
这两个程序输出的数值不是0也不是1,这是怎么回事呀?谢谢。
[ 本帖最后由 amro 于 2007-10-28 16:55 编辑 ] |
|