怎样使char范围变大?

img

使用while((c=getchar()) != '/n')

把char c 写到外面

char c = '\0';
for(;(c=getchar())!='\n';)
{
    printf("%c", c);
}

我觉得你的问题应该是判断条件写错了,应该是反斜杠n而不是斜杠n,反斜杠n电脑会自动处理为一个char大小的值,如果将斜杠n看作一个字符的话,可能他的值会超过-128到127这个范围,问题应该是这个,这个就导致你的循环无法结束,所以系统报错,修改的话改成反斜杠n就行了,平时用的时候不建议这么用,因为你再for循环里面定义的char是一个临时变量,在循环结束之后就会被释放,具体操作的话,你可以在你的for循环之后再写个printf 输出一下c的值,你就会发现问题了。

'/n'改成'\n',这样写是没有问题的。

#include <stdio.h>

int main()
{
    for (char c; (c = getchar()) != '\n';)
        printf("%c", c);
    return 0;
}