有以下程序: #include voidswap(char*x,char*y) {chart; t=*x;*x=*y;*y=t; } main() {char*s1="abc",*s2="123"; swap(s1,s2);printf("%s,%s\n"

admin2020-07-28  32

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

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

答案D

解析 字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即"abc"的第一个字符的地址。s2指向的是"123"的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符’a’和’1’的内容,所以打印输出为D。
转载请注明原文地址:https://jikaoti.com/ti/G5D0FFFM
0

相关试题推荐
最新回复(0)