这样写字符串数组不成功,什么环境下这样写才成功

#include<stdio.h>

int main(void)
{
char *a[]={
"hello",
"world",
}
printf("%p",a[0]);

return 0;
}

出来的错误:ios 禁止将字符串常量转化为 char*

printf上面右侧少了“;”,另外除了代码还要贴出编译错误截图

img


不能这样去写,因为 这样写 一边是char* 类型 一边是const string 就是字符串常量 不对等。
可以参考下面写法:

#include<stdio.h>

int main(void)
{
char a[]="hello world";
char* b = a;
printf("%s",b);

return 0;
}

希望对题主有所帮助!