指针问题
有一下定义char a,*p;
p="China";
prinntf("%s",a);
我的疑问:指针变量 p 与数组 a 不是共用地址吗?既然给p赋值为“China”数组 a 的值也应该是“China”啊 那输出结果应该是China{到底哪里不对啊}{:5_90:}
我的疑问:指针变量 p 与数组 a 不是共用地址吗? 这个问题我不知道
我仅以我刚学到的知做个说明:
P 里存放的是 ‘china’的地址而不是'china'
*p 存放的才是'china'
所以你在打印的时候应该写&a 这样才是类型一样 a是一个指针常量,它等于&a,p是一个指针变量,你把字符串"China"中的字符'C'的地址赋给了p,你的程序中a和p没有一丝的关系
应该改为:
char a="China",* p;
p=a;
printf("%s\n",p);
就会得到你想要的结果 zhanshen158 发表于 2013-12-10 13:39 static/image/common/back.gif
a是一个指针常量,它等于&a,p是一个指针变量,你把字符串"China"中的字符'C'的地址赋给了p,你的程序中a ...
有一下定义
char a,*p;
p=a;
p="China";
prinntf("%s",a);
很尴尬啊 少些了一行代码,请指教 #include<stdio.h>
woid main()
{
printf("谢谢");
}
页:
[1]