TeX中的引号
今天做算法竞赛入门里面的一道例题,名字是TeX中的引号。自己写的代码运行有错误,编译报警告,实践了一下发现了其中的问题所在,还是基础不扎实,写在这里记录。
问题描述:
输入字符串,将 ("") 这种形式的引号转换成TeX的格式(“”)。
#include<stdio.h>
#include<string.h>
int main(){
char c;
int p = 0;
while((c=getchar())!=EOF){
if(c!='"'){
printf("%c",c);
}
else {
printf("%s",(p=!p)?"“":"”");
}
}
return 0;
}
以上是正确版本。
我开始写的printf语句:
printf("%c",(p=!p)?'“':'”');
编译出现错误
[Warning] multi-character character constant [-Wmultichar]
多字符的字符常量
中文字符的引号 “ 在计算机里并不是单个的字符,所以不能用%c来输出,只能用%s输出字符串的格式输出,尽管看上去它很像单个的字符。