c代码123

来源:百度知道 编辑:UC知道 时间:2024/05/29 20:43:05
main()
{
char a[10]="abcde",b[]="fgh";
int i=0;
strcpy (a+1,b+2);
printf("%s",a);
} 别人问我这是什么意思,我哪知道啊。! 各位大哥帮我给解释下吧。 最后运行结果是ah 为什么会这样。 运算过程写一下 谢谢了

strcpy (a+1,b+2);
是把b+2以后位置的元素复制到a+1以后的位置上,是覆盖!所以bcde被变成了h
printf("%s",a); 是输出整个a数组的元素

等我学回了告诉你 。

strcpy (a+1,b+2);
这个的意思就是将 b+2复制到 a+1
b+2 就是 h (2 意思就是第三个,因为从零开始的)
所以输出就为ah了 不信你可以改下
由于我是新手啊 有些我也不明白a+1是指a数组的第三个
还是指a的后面的第一个 数组初始化好象不是象楼主这样的吧
刚去编译了一下 好象不是数组的 那就是指a的后面的第一个
i的初始化也是多余的 基本就是这样了

新手意见啊 ~~~