问题 单项选择题

有以下程序:
#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'的交换,而字符串中其他字符保持不变。

选择题
单项选择题