为何我输入2结束不来程序呢


#include <stdio.h>
int main()
{
    char c;
    while (c=getchar()!='$')
    {
        if(c=='2')
        break;
    }

}

img

你没写return 0;

getchar只能输入字符,不能把输入的数字2当作字符处理,所以会有问题,如果要输入字符的2,建议使用scanf

修改如下,供参考:

#include <stdio.h>
int main()
{
    char c;
    while ((c = getchar()) != '$') //修改 缺()
    {
        getchar();
        printf("%c,ASCII:%d\n", c, c);
        if (c == '2')
            break;
    }
    return 0;
}