问题 单项选择题

以下程序运行后的输出结果是
#include< string.h>
void f(char*s, char*t)
char k;
k=*s;
*s=*t;
*t=k;
s++; t--;
if(*s)f(s, t);

main()
char str[10]="welcome", *p;
p=str+strlen(str)/2+1;
f(p, p-2);
printf("%s\n", str);

A) eelcomw
B) weoclme
C) welcome
D) emoclew

答案

参考答案:D

解析: 该程序中f函数的功能是交换两个位置字符的值,f函数共调用3次,依次更改了字符串中1和o、e和m、w和e的值,因此更改后的字符串的值是emoclew。

单项选择题 B型题
单项选择题