在看C语言题目中的一些问题,求指教!
19. 若有以下说明,则对strcpy库函数的调用不正确的有_______。(知识点10.4)char *str1=“copy”,str2[10],*str3=“abcde”,*str4,*str5=“hijk”
A)strcpy(str2,str1); B)strcpy(str3,str1);
C)strcpy(str4,str1); D)strcpy(str5 ,str1);
---------------------------------------------------------------------------------------
多选,答案:BC
我不了解为什么不能把B中str1复制到str3中而str1可以复制到str5中?
---------------------------------------------------------------------------------------
10. 以下有关字符串赋值、赋初值的语句错误的有_______。(知识点10.4)
A)char sz[2][40];sz[1]=“string1”;
B)char *sz[2];sz[1]=“string2”;
C)char sz[][40]=“string3”;
D)char *sz[ ]=“string4”;
---------------------------------------------------------------------------------------
多选,答案:ACD
AC都不了解是什么问题。。。D中为什么会错误,我觉得char *sz[ ]=“string4”;应该等价于char *sz[0]=“string4”;。。。
---------------------------------------------------------------------------------------
51. 下列程序的运行结果是_______。(知识点10.2)
void fun(int *a,int *b)
{ int *k;
k=a;a=b;b=k;}
main()
{ int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf(“%d %d”,a,b);
}
A)6 3 B)3 6 C)编译出错 D)0 0
---------------------------------------------------------------------------------------
单选,答案:B
---------------------------------------------------------------------------------------
我不了解的是a,b的地址已经交换了,为什么输出的数字会不变!?