热心网友
回答时间:2024-04-07 17:15
只有一个问题,把printf("%s",*b);这一句中的“*”去掉,改成:
printf("%s",b);
就能打印“abc”了。
有什么问题请留言。
收起
热心网友
回答时间:2024-04-07 17:14
有两种改法:
1、
char *b=a[0];
printf("%s",b);
2、
char **b=&a[0];
收起
热心网友
回答时间:2024-04-07 17:21
*a[] 对应的是二维数组,a+i 的内容就是第 i 个字符串的首地址
printf("%s",*(a+i)) 输出第i个字符串
printf("%c",*(a[i]+j))输出第i个字符串的第j个字符
char *b 对应的是一维数组,b = a+i
printf("%c",b) 只能输出第i个字符串的首字母
收起
热心网友
回答时间:2024-04-07 17:19
#include #include int main(){ char *a[]={"abc","def","ghi"}; char *b=&a[0]; printf("%s",*b); return 0; }
最后的printf有问题 %s要的是地址 *b是字符a的值
收起
热心网友
回答时间:2024-04-07 17:22
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。
收起