为什么使用两个编译器gcc
和turbo c
编译代码时,输出结果存在差异。
#include <stdio.h>
int main()
{
char *p = "I am a string";
char *q = "I am a string";
if(p==q)
{
printf("Optimized");
}
else{
printf("Change your compiler");
}
return 0;
}
我在gcc
编译器上得到了"Optimized"
,但在turbo c
编译器上得到"Change your compiler"
。为什么?
printf
字符串中了(顺便说一下,那里缺少\n
),我猜想这个代码示例是从哪里得到的?这是作业吗? - Jens Gustedt-d
),可以合并字符串常量。 - clstrfsck*p
和*q
并不意味着相同的含义! - user9258013