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; }