请各位C语言大神给解答下下面的程序是怎样输出的 #include<stdio.h> main() { char w[][10]={"ABCD","EF"

#include<stdio.h>main(){charw[][10]={"ABCD","EFGH","IGKL","MNOP"};for(k=1;k<3;k++)pri... #include<stdio.h>
main()
{
char w[][10]={"ABCD","EFGH","IGKL","MNOP"};
for(k=1;k<3;k++)
printf("%s",&w[k][k]);
}
答案是FGK KL
请问这种字符串的输出,上面的四个字符串在w这个2维数组中时怎样排列的,每行多少个,输出为什么是这样的,最好详细点,本人菜鸟
展开
 我来答
kingfeng588
推荐于2018-02-27 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1794万
展开全部
#include<stdio.h>
void main()
{
char w[][10]={"ABCD","EFGH","IGKL","MNOP"};
int k;

for(k=1;k<3;k++)
{
printf("%s",&w[k][k]);
}
}
w数组的存储结构:
- w 0x0013ff58
+ [0] 0x0013ff58 "ABCD" 第一行对应w[0],w[0][0]对应A,w[0][1]对应B,w[0][2]对应C,w[0][3]对应字符D,
+ [1] 0x0013ff62 "EFGH" 第二行对应w[1],w[1][0]对应E,w[1][1]对应F,w[1][2]对应G,w[1][3]对应字符H,
+ [2] 0x0013ff6c "IGKL" 第三行对应w[2]],w[2][0]对应E,w[2][1]对应F,w[2][2]对应G,w[2][3]对应字符H,
+ [3] 0x0013ff76 "MNOP" 第四行对应w[3]

k=1时,w[k][k]=w[1][1],由于前面&w[k][k]加了取地址符号&,所以此时是相当于一个指针,当以%s输出时,会输出以结束符\0为结束的字符串,w[1][1]对应第二行第二列,即&w[1][1]指向F对应的地址,此时printf("%s",&w[k][k]);以字符串输出,那么结果为FGH。

k=1时,w[k][k]=w[2][2],由于前面&w[k][k]加了取地址符号&,所以此时是相当于一个指针,当以%s输出时,会输出以结束符\0为结束的字符串,w[2][2]对应第三行第三列,即&w[2][2]指向K对应的地址,此时printf("%s",&w[k][k]);以字符串输出,那么结果为KL。

所以结果:FGHKL
ifeiying
2013-03-05 · TA获得超过230个赞
知道小有建树答主
回答量:253
采纳率:100%
帮助的人:146万
展开全部
应该是输出FGHKL吧,FGK我就没法解释了。
字符存储:
第0行:ABCD\0+5个垃圾值
第1行:EFGH\0+5个垃圾值
第2行:IJKL\0+5个垃圾值
第3行:MNOP\0+5个垃圾值
for循环执行两次,k为1时w[k][k]就是F,然后取地址作为一个字符串首地址匹配上%s,所以输出FGH;k为2时w[k][k]就是K,就输出了KL。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友73be8e525
2013-03-05 · 超过26用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:52.7万
展开全部
数组下标从0开始
第一个维度是字符串个数,这个数组有4个字符串
第二个维度是每个字符串最大长度
&w[k][k]表示取地址,w[1][1]为F,取地址打印的意思是打印字符串至'\0'字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoujiong1004
2013-03-05 · TA获得超过357个赞
知道小有建树答主
回答量:402
采纳率:100%
帮助的人:355万
展开全部
答案应该是FGH KL,
w[0]里面“ABCD”
w[1]里面“EFGH”
w[2]里面“IGKL”
w[3]李main“MNOP”

当k=1时,&w[1][1],输出FGH
当k=2时,&w[2][2],输出KL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linglangtan
2013-03-05 · TA获得超过129个赞
知道答主
回答量:89
采纳率:0%
帮助的人:28.4万
展开全部
数组使用下标访问的起始位是0 !
所以你打印的分别是:FGH KL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式