首先我们看一下这段代码会输出什么:
#include<stdio.h>
int main()
{
printf("are you ok ??)");
return 0;
}
结果发现,在不同的编译器上运行,结果是不一样的,如下:
(1)vs2008
(2)vs2013
显然,我们是想得出后面那个结果的,那为什么会出现前面那个结果呢,经过学习探索,发现了一个小知识点:三字母词
三字母词的定义:几个字符的序列,合起来可以表示另一个字符,三字⺟词可以使C环境可以在某些缺少⼀些必备字符的字符集上使⽤(比如,一些非常老式的键盘上没有[]{}#\^~|)。
出现上面结果的原因是:由于编译器的种类各样,对ANSIC的支持也不一样,所以可能会有些C编译器不处理“三字母词”,会将它们当做普通的字符串来处理。
&