有以下程序         void swap(char *x,char *y)         {char t;          t=*x;*x=*y;*y=t;         }         main()         {char *s1="

admin2009-03-05  25

问题 有以下程序         void swap(char *x,char *y)         {char t;          t=*x;*x=*y;*y=t;         }         main()         {char *s1="abc",*s2="123";           swap(s1,s2); printf("%s,%s\n",s1,s2);         }      程序执行后的输出结果是______。

选项 A、123,abc
B、abc,123
C、1bc,a23
D、321,cba

答案C

解析 此题考核的知识点是指针变量值的交换。c语言中,字符串常量在内存中是以字符数组的形式进行存放的,因此字符指针x和y指向的是各字符串的首地址,也就是字符串第—个字符的地址,则*x与*y交换的是字符串的第—个字符,即字符“a”与“1”的交换,而字符串中其它字符保持不变,所以答案选C。
转载请注明原文地址:https://kaotiyun.com/show/DlXp777K
0

最新回复(0)