如何打印换行符ASCII?

App*_*lik 1 c ascii

尝试\n用下面的代码打印出十进制等值(换行符).当它执行时我按下回车键Ctrl+ + Z但屏幕上没有打印任何内容.我希望打印10张.我错过了什么?

#include <stdio.h>
int main()
{
    char ch;

    while ((ch = getchar() != EOF))
    {
        if (ch == '\n')
        {
            printf("\\n=%d\n", ch);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

aut*_*tic 5

while ((ch = getchar() != EOF))
Run Code Online (Sandbox Code Playgroud)

这将值赋值getchar() != EOFch.你可能想写:

while ((ch = getchar()) != EOF)
Run Code Online (Sandbox Code Playgroud)

PS ch应该是类型int,因为EOF是一个负值,char不需要能够表示(char可能是unsigned),因此在某些系统上,如果ch(错误地),您可能永远不会看到此条件评估为false char(因此您将拥有这种系统上的无限循环).