mxwawaawxm 发表于 2019-7-20 12:15

C语言putchar输出乱码。

本帖最后由 mxwawaawxm 于 2019-7-20 13:43 编辑

用的编译器是MinGW-w64
编辑器用notepad++
运行命令里
cmd /k gcc "$(FULL_CURRENT_PATH)" -finput-charset=UTF-8 -fexec-charset=GBK -o "d:\Program Files\$(NAME_PART).exe" & "d:\Program Files\C\$(NAME_PART)" & PAUSE & EXIT

代码如下
#include <stdio.h>

int main(void)
{
    int ch;
    while (ch = getchar() != EOF) {
      putchar(ch);
    }
    return 0;
}

结果如截图。请问是哪里错了

bluewhiteshirt 发表于 2019-7-20 13:33

小哥哥,用小括号把“ch = getchar()”包起来{:1_886:}

荧光 发表于 2019-7-20 12:37

getchar每次只能接受一个字符

mxwawaawxm 发表于 2019-7-20 13:41

bluewhiteshirt 发表于 2019-7-20 13:33
小哥哥,用小括号把“ch = getchar()”包起来

还真是。犯了个低级错误。赋值运算符优先级比关系运算符低。谢谢。

mxwawaawxm 发表于 2019-7-20 13:43

X1737068462 发表于 2019-7-20 12:37
getchar每次只能接受一个字符

是只能读取一个字符。不过。我试过,可以一次性输入多个字符,并输出
页: [1]
查看完整版本: C语言putchar输出乱码。