柠檬试题库
search
首页 计算机 公务员 驾照 关于

有以下程序: #include 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.321,cba
  • B.abc,123
  • C.123,abc
  • D.1bc,a23
热度🔥2,086
参考答案:D
解析:

【解析】字符串是一个特殊的数组,所以按照数组的规则,s1应该指向的是数组的首地址,即"abc"的第一个字符的地址。s2指向的是"123"的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符'a'和'1'的内容,所以打印输出为D)。
复制题目向AI提问