#include<stdio.h>
int main()
{
char p[] = "abc";
char b[] = "abc";
char *p1 = "abc";
char *p2 = "abc";
if (p == b)
{
printf("1\n");
}
if (p1 == p2)
{
printf("2\n");
}
printf("%p\n%p\n", p1, p2);
}
这段代码的输出结果为:2
原因 :定义两个字符数组占用不同的内存空间,定义字符串常量时,p1 和 p2 指向相同的内存空间。