请教一个c语言的问题,求大神回答

原题是#include<stdio.h>main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k+... 原题是
#include <stdio.h>
main()
{
char w[][10] = {"ABCD","EFGH","IJKL","MNOP"},k;
for (k = 1;k < 3;k++)
{
printf("%s\n",&w[k][k]);
}
}为何在调试时,w[k][k]的结果是F和K,屏幕上显示是FGH和KL,用%c输出时显示+和6,用%d输出显示1638187和1638198,为何会出现这样的情况,求简单通俗的解答,O(∩_∩)O谢谢
展开
 我来答
曹津荣
2014-12-18 · TA获得超过138个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:61.3万
展开全部
你的程序等同于

#include <stdio.h>
main()
{
char w[][10] = {"ABCD","EFGH","IJKL","MNOP"},k;

printf("%s\n",&w[1][1]);
printf("%s\n",&w[2][2]);

getch();
}

意思是输出第一个数组第一个数据开始
输出第二个数组第二个开始
注意这里的第一个是从0开始数的
至于后面是输出数据格式问题,只能用%S 用其他的没什么意义
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式