C语言字符串数组的输出问题

#include<stdio.h>voidmain(){intk;charw[][10]={"ABCD","EFGH","IJKL","MNOP"};for(k=1;k<... #include<stdio.h>
void main()
{
int k;
char w[][10]={"ABCD","EFGH","IJKL","MNOP"};
for(k=1;k<3;k++)printf("%s\n",&w[k][k]);

}
以上程序,输出:FGH
KL
------------------------------------------------------------------------------------------------------------------
ABCD
EFGH
I J K L
MNOP
----------------------------------------------------------------------------------------------------------------------
Q1:for循环执行两次,分别是w[1][1] w[2][2]难道不应该是输出F\nK吗?怎么把他们后面的也输出来了啊?
Q2:怎么输出里面有区地址&啊,头一次在printf里面看到&诶,如果我去掉&,编译就通过不了。
展开
 我来答
匿名用户
2015-01-27
展开全部
你要问的其实是printf("%s\n",&w[k][k]);这句话的意思
逗号后面是字符串输出的起始位置
k=1时就是w[1][1]=F
输出的就是FGH
K=2就是w[2][2]=K
输出的就是KL
&是取地址符必须要加
否则不能输出字符串
望采纳
更多追问追答
追问
要是我就想输出w11这个字母怎么做?
追答
printf("%c",w[1][1]);就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式