为什么输出时要用p,p不是保存地址吗?所以按理输出来的值应该是一个地址
请讲详细一点(基础一点)
为什么输出时要用p,p不是保存地址吗?所以按理输出来的值应该是一个地址
请讲详细一点(基础一点)
%s是字符串,*p是字符串的第一个字符,所以不匹配。
你的代码编译应该也有问题,ae是不能直接转换为char * 的。
如下修改,可以输出hello。如果要输出yes,需要将p指针跳过ae的第一个字符串长度+1,即跳过第一个字符串的字符串结束符。
也不能将ae直接转换为char **
int main()
{
char ae[][20] = {"hello","yes"};
char *p = (char*)ae;
printf("%s",p);
return 0;
}