strcpy(a,b),即把b[]嵌入到a[]中,覆盖原a[]的相应数值,a[]现在是{A,B,C,d,e,f}那么a[5]的值应该为f。
若有以下定义和语句: char a[7]= “abcdef”, b[4]= “ABC”; strcpy(a,b); 则a[5]的值是'f'。
因为执行strcpy(a,b);时,a数组中被覆盖的元素有4个,zhuan即'A','B','C','\0',所以,a[4]仍是'e',a[5]仍是'f'。
但是,输出printf("%s",a);的值,是ABC
除非,输出printf("%s",a+5);的值,是ef
扩展资料:
int[]x; //声明名称为x的int型数组
x=new int[10]; //x数组中包含有10个元素,并为这10个元素分配内存空间
在声明数组时,也可以将两个语句合并成一行,格式如下:
数据类型[]数组名= new 数据类型[个数];
利用这种格式在声明数组的同时,也分配一块内存供数组使用。如上面的例子可以写成:
int[]x = new int [10];
参考资料来源:百度百科-数组