哪位高手帮看一下,这道C语言题目可否帮解释详细点?结果是多少呢?

以下程序运行后的输出结果是_____.#include<string.h>main(){charch[]="abc",x[3][4];inti;for(i=0;i<3;i... 以下程序运行后的输出结果是_____.
#include <string.h>
main()
{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);和printf("%s",&x[i][i]);结果的输出
展开
 我来答
百度网友15653bf
2008-06-01 · TA获得超过1923个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:244万
展开全部
源文件就有问题.
最后结果是abcbcc

程序改为如下,在VS2005下可以运行

#include <string.h>
//包含string,所以就可以用strcpy这个字符串复制函数
#include <stdio.h>
//包含stdio.h,这样就可以用printf
void main()
{
char ch[]="abc",x[3][4];
//建立字符串一惟数组ch,和二唯的x,字符串ch已经被定义了大小,是ch[4],最后是字符串结束标志"\0",自动加上的。
int i; //循环用的i
for(i=0;i<3;i++)
strcpy(x[i],ch);//把ch里的内容,给x[i]
//最后x中的内容就是x[0]="abc\0",x[1]="abc\o",x[2]="abc\o"
for(i=0;i<3;i++)
printf("%s",&x[i][i]); //输出的时候就不一样了,因为里面是%s,所以从x[i][i]开始输出,直到输出到"\0"的时候,就停止
printf("\n"); //换个行
getchar();//等个按键,方便咱们看最后结果。
}
ooppo123
2008-06-01
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
#include <string.h> /*头文件 调用strcpy字符串复制系统函数*/
main() /*主函数*/
{char ch[]="abc",x[3][4];int i; /*定义ch数组 二维数组X 并赋初始值*/

for(i=0;i<3;i++) strcpy(x[i],ch); /*一共循环3次 每次循环把CH数组的值复制到X数组的横列中 循环后X[0]=abc,x[1]=abc,x[2]=abc*/

for(i=0;i<3;i++) printf("%s",&x[i][i]);/*这里有点问题!",x[i][i]这里是不是你发错了!按理应该是为x[i]才对 因为输出里的符号是%S!要不%C还能理解 !你想看看吧!有问题在留言*/

printf("\n"); /*每次输出一次字符串后结尾加回车换行符 主要是为了区分每条字符串用的!*/

}
我觉的原文件大体没什么问题!!给个 旗子吧 !!嘿嘿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cbb0f1d01
2008-06-01
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
strcpy(x[i],ch) //把ch复制给x的第i行结里为abcabcabc
printf("%s",&x[i][i]); //这里取地址符"&"做什么用? 这句话表示把x[i][i]的地址(整型)转化成字符串
没有"&"结果为abc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式