下面关于getchar()的用法,这个程序能输出结果么?
#include <stdio.h>
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}
上面的程序中的getchar()在stdio.h中不是被定义为#define getchar() fgetc(stdin)么,就是从键盘文件读取字符,那在键盘上哪个字符的值是EOF啊?如果没有不就是死循环么?请高手指教一下.
----------------解决方案--------------------------------------------------------
应该在getchar之前加一个getchar()语句才行!按F6结束程序!
----------------解决方案--------------------------------------------------------
#include "stdio.h"
int main() {
printf("%d",EOF);
return 0;
}
这样就能显示出EOF的ASCII码
----------------解决方案--------------------------------------------------------
EOF就是Ctrl+Z
----------------解决方案--------------------------------------------------------
谢了,四楼的兄弟,终于知道了EOF就是Ctrl+Z就是-1,
----------------解决方案--------------------------------------------------------
以下是引用Gonzalez在2006-11-23 20:33:09的发言:
EOF就是Ctrl+Z
EOF就是Ctrl+Z
不解~请指点一下,谢谢!getchar不是只能接收一个字符么?
----------------解决方案--------------------------------------------------------