TeX 是一种由 Donald Knuth 所发展出的一套文书排版软件。 这套软件可以将原始文件文件加上一些像字体等型态后,转成一份很漂亮的文件。 而一份漂亮的文件是需要用 '' 和 ” 来把别人说的话给「引」出来,而不是用大部份键盘上有的“。 虽然键盘里通常不会有这种有方向的双引号键,不过上面有左单引号'(有人叫 backquote ),和右单引号'(有人叫 apostrophe 或 quote )。 你可以在你的键盘上找一下,不过要小心不要将'与( backslash 键)搞混了。 而在 TeX 里,用户可以输入两个左单引号''来构成一个左双引号 '' ,或者是两个右单引号''来构造一个右单引号 '' ,不过呢,通常大家打字时都很习惯用普通的双引号“来引述别人的话。\
换成人话就是:
- 每一组双引号的第一个“必须用两个`字符(就是``)来代替
- 每一组双引号的第二个“必须用两个'字符( 就是'')来代替。
对于双引号出现次数的判断有许多方法,比如紫书的真假:
q=1; q=!q;当q为真即双引号第一个,为假即第二个;
当然也可以采取这样;
q=-1; q*=-1;当q为-1XXXX,当q=1XXXXXX;
更直观的是每进行一次q+1,然后条件语句安排上,这样即使有更特殊的情况也能补上去。
#include<cstdio>
using namespace std;
int c,q=1;
int main()
{
while((c=getchar())!=EOF)
{
if(c=='"'){ printf("%s",q?"``":"''");q=!q; }
else{printf("%c",c);}
}
return 0;
}