这个为什么程序运行的结果为什么是abcbcc而不是abc?

来源:百度知道 编辑:UC知道 时间:2024/06/18 16:30:05
#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");
}

这要从用%s输出的原理来说了,%s是输出字符串,每次都要输出到‘\0’才停止。而x[][],第一维里每一维都是abc,然后一\0结束。所以第一次输出abc,第二次bc,第三次c,最后就是abcbcc。