将" "替换为“ ”
#include<stdio.h>
int main(){
int c,q=1;
while((c=getchar())!=EOF){
if(c=='"'){
printf("%s",q?"“":"”");q=!q;
}else printf("%c",c);
}
return 0;
}
getchar()就是读取下一个字符,%s是输出字符串 %c是输出字符
之前一直运行不了,后来发现是c=’ " ‘这里,代码自动补全为’ " " ',一不留神就又没看见,唉
#include<stdio.h>
int main(){
int c,q=1;
while(getchar()!=EOF){
c=getchar();
if(c=='"'){
if(q){
printf("%s","“");q=!q;
}else if(q==0){
printf("%s","”");q=!q;
}
}else printf("%c",c);
}
return 0;
}
但是假如写成这样,就会运行不正确
这两种不就是把q?:拆成if语句了吗?为什么就不对了?
#include<stdio.h>
int main(){
int c,q=1;
while((c=getchar())!=EOF){
if(c=='"'){
if(q){
printf("“");q=!q;
}else if(q==0){
printf("”");q=!q;
}
}else printf("%c",c);
}
return 0;
}
不,写成这样还是对的,问题在(c=getchar())!=EOF上
假如是
#include<stdio.h>
int main(){
int c,q=1;
c=getchar();
while(c!=EOF){
if(c=='"'){
if(q){
printf("“");q=!q;
}else if(q==0){
printf("”");q=!q;
}
}else printf("%c",c);
}
return 0;
}
就会
#include<stdio.h>
int main(){
int c,q=1;
while(getchar()!=EOF){
c=getchar();
if(c=='"'){
if(q){
printf("“");q=!q;
}else if(q==0){
printf("”");q=!q;
}
}else printf("%c",c);
}
return 0;
}
这样为什么是不对的???