算法竞赛入门——例题3-1 TeX中的引号

TeX中的引号
今天做算法竞赛入门里面的一道例题,名字是TeX中的引号。自己写的代码运行有错误,编译报警告,实践了一下发现了其中的问题所在,还是基础不扎实,写在这里记录。

问题描述:
输入字符串,将 ("") 这种形式的引号转换成TeX的格式(“”)。

#include
#include
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输出字符串的格式输出,尽管看上去它很像单个的字符。

你可能感兴趣的:(算法竞赛入门)