问一个关于指针的小问题
程序代码:#include <stdio.h>
#include <string.h>
int main()
{
char str[100]="I love programming";
char *p;
p="I hate programming";
puts(p);
printf("%d,%d,",sizeof(p),sizeof(str));
printf("%d,%d,",sizeof(*p),sizeof(*str));
printf("%d,%d",strlen(p),strlen(str));
return 0;
}
如题 第六行和第七行,*p是个字符,怎么到输出的时候就成了字符串了?本来我以为p只能读个I,是不是说p是"I hate programming"这个字符串的地址?这样的话定义的时候为什么不定义成 char *p[] ?









