C语言这段程序怎么解释

来源:百度知道 编辑:UC知道 时间:2024/05/28 13:49:53
#include<stdio.h>
#include<string.h>
void 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");
}

运行结果是 abcbcc

char ch[]="abc",x[3][4];
定义一个char的数组 数据为abc 在定义一个二维数组 三行四列的。
ch[]="abc",这个数组的长度是4因为自动添加'\0'
for(i=0;i<3;i++)
strcpy(x[i],ch);
使用一个for循环把abc拷贝到数组中。
int strcpy(char *str1,char* str2);
for(i=0;i<3;i++)
printf("%s",&x[i][i]);
因为pritf函数是以\0为结束。
x[0][0] a b c \0 从a开始结束
x[1][1] a b c \0 从b开始结束
x[2][2] a b c \0 从c开始结束

x[0]=abc
x[1]=abc
x[2]=abc

i=0
x[0][0]=abc
i=1
x[1][1]=bc
i=2
x[2][2]=c

strcpy是字符串复制的意思
下面解释同上

同样等待高手解答