有以下程序:
#include<stdio.h>
void swap(char*x,ehar*y)
{char t;
t=*x; *x=y; *y=t;
}
main()
{char*s1:“abe”,* s2=“123”;
swap(s1,s2);prinff(“%s,%s\n”,s1,s2);
}
}
程序执行后的输出结果是( )。
【正确答案】
D
【答案解析】字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即“abc”的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符‘a’和‘1’的内容,所以打印输出为D.