A-A+
有以下程序:#include <stdio.h>void swap(char * x eha
问题详情
有以下程序:#include <stdio.h>void swap(char * x,ehar * 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,abe
B.abe,123
C.1bc,a23
D.321,cba请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:C语言中,字符串常量在内存中是以字符数组的形式存放的,形参字符指针x和y指向的是各字符串的首地址,在swap函数中,*x与*y交换的是字符串的第一个字符,即字符'a'与'1'的交换,而字符串中其他字符保持不变。