先看A版本:
while (scanf("%c", &c) != EOF){
if()
printf();
if()
printf();
else
printf();
}
再看B版本:
while (scanf("%c", &c) != EOF){
if()
printf();
else if()
printf();
else
printf();
}
Why B对,A输出的总是多于B呢。tm的因为A的第二if前少了一个elae,多执行一次printf.
典型的逻辑错误!艹