问题
单项选择题
有以下程序 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。