强烈BS楼下的照抄+整合行为,这样只能阻碍知道的发展
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
问题真多啊,还好今天有空,一个一个来,首先抱歉,我不知道你的水平,所以尽量详细点,并不是看不起你哦.
43: 经过VC++6.0的编译,证明答案应该是C,而B是错的(
LZ故意的?) error C2105: '++' needs l-value
首先说明strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。
char a[11]长度11,="how are you"长的也是11,所以C是正好够,A中p指向指针a的下一个,a本来指向数组开头,就是a[0],现在p就是a[1]了,直到null,长度就是10,根据说明长度不够,所以错误.B,D同理.
44.char arr[2][4];表示2维数组,一共2行,每行4个,其实它是顺序排列的,就是说内存里是01230123(为什么是0不是4总知道吧),strcpy(arr,"you"); 把you复制到arr里,这里没有指明是arr的第几行,所以从头始,01230123都可以用,所以变成了you30123.strcpy(arr[1],"me");指明了第1行(从第0行开始哦),所以变成了you3me23.
arr[0][3]='&',赋值第0行第3个为&,这是一个字符,所以是单引号,如果是字符串就是双引号.所以变成了you&me