“for( ;c=(getchar() != ‘\n’);) printf(“% c”,c);
我输入ABCDEFG之后出现了非字母数字字符,这个循环是怎么运行的呢
“for( ;c=(getchar() != ‘\n’);) printf(“% c”,c);
我输入ABCDEFG之后出现了非字母数字字符,这个循环是怎么运行的呢
你应该先给c赋值再判断 你这样写是先判断 把判断不是回车符 给赋值c了。。。
表达式先判断了getchar()得到的字符是否为换行
如果不是换行符返回1 ,是返回0 而你这块返回的肯定都是1
Anscii码1就是你打印的那个乱码
#include <stdio.h>
int main()
{
char c=0;
for (;(c =getchar()) != '\n';)
printf("%c", c);
return 0;
}