为什么输出好多怪怪的小脸...
- C/C++ code
#include <stdio.h>#include <string.h>#include <stdlib.h>// /*** 利用读字符来避免行过长的情况.*/int main ( void ){ char ch; int at_beginning ; int line; at_beginning = 1; line = 0; /* ** 输入字符; */ while ( ch = getchar() != EOF ){ /* ** 输出行数 */ if ( at_beginning == 1 ){ at_beginning = 0; line+=1; printf ("%4d",line); } /* ** 打印字符 */ putchar (ch); if (ch == '\n') at_beginning = 1; } return EXIT_SUCCESS;}
程序的作用就是 按行输出 一堆字符.
要求每行开始输出行号, 还要不限制每行的容量.
我照着 C和指针后面答案打了一遍 都不对...
输出全是黑色小脸!
是不是 我的vc++ 6.0 的编译器的问题,那在windows 下还有什么编译器能好点呢...
谢谢指教
[解决办法]
ch = getchar() != EOF
!=优先级比=高,所以等价于
ch = (getchar() != EOF )
[解决办法]
加个括号:
(ch = getchar()) != EOF
[解决办法]
(ch = getchar()) != EOF
[解决办法]
除非你是专家,否则请不要置疑你的编译器!