UVA272

EOF是一个信号值,值为-1,getchar() 的返回值类型是 int。

如果 ch 定义为 unsigned char 类型,则永远无法等于-1,无法判断是否读完。这个时候就会TLE。

ch 的类型是根据编译器决定的,ch 最好为 int 型。

ch=getchar() 的两边要加括号,因为等于号和不等号有相同优先级,会先从左边开始解析。

#include <stdio.h>

int main()
{
    int flag=1;
    int ch;
    while((ch=getchar())!=EOF)
    {
        if(ch=='"')
        {
            if(flag)
                printf("%s","``");
            else
                printf("%s","''");
            flag=flag^1;
        }
        else
            printf("%c",ch);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/canchan/p/9683154.html