小弟我谦卑请教 关于字符串指针 放在printf()的输出项列表中的问题
#include <stdio.h>
void main()
{
char *p="china";
printf("%s\n",p);
}
结果是能输出china
小弟我不懂得就是为什么 printf()的输出项列表中是指针却能输出 理论应该输出p的地址(一串数字)啊,,怎么会输出字符呢 毕竟 p只是只是指向"china"的指针
[解决办法]
这个是printf函数规定它这么做的。如果是%s,那么它就会读取一个字符数组……
这好比问为什么打开空调就能出冷气,而打开电视机就不能一样。有什么好困惑的。
[解决办法]
第一个错了
char[] s = "hello";
char *p = &s[0];