下列程序段运行后的输出结果是[]. char ch[]="abc",x[3][4]; int i; for(i=0;i<3;i++)

strcpy(x[i],ch);for(i=0;i<3;i++)printf("%s",&x[i][i]);printf("\n");哪位高手解释解释啊谢了... strcpy(x[i],ch);
for(i=0;i<3;i+ +) printf("%s",&x[i][i]);
printf("\n");
哪位 高手 解释解释 啊 谢了
展开
 我来答
chenqa08
推荐于2017-08-30 · TA获得超过275个赞
知道答主
回答量:105
采纳率:0%
帮助的人:109万
展开全部
首先你要明白x[3][4]的存储内容,经过strcpy后,成了:
abc\0
abc\0
abc\0
然后,注意&x[i][i]即可,即要输出字符串的首地址,这样:
输出&x[0][0]至\0
输出&x[1][1]至\0
输出&x[2][2]至\0
按照题目,最终输出:abcbcc

总结:遇到数组及指针,你就要明白数据在内存中是怎样布局,
这样,很多问题就不会再困扰你了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式