题目内容:
给定程序中,函数fun()的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。 例如,形参S所指的字符串为:abcdefgh,执行结果为:ahcbedgf。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
void fun(char*s)
{
int i,n,k;
char c;
n=0:
for(i=0;s[i]!='\0';i++)
n++:
if(n%2==O)
k=n- 【1】 ;
else
k=n- 【2】 ;
c=s[k];
for(i=k-2;i>=1;i=i-2)
s[i+2]=s[i];
s[1]=【3】 ;
}
void main()
{
char s[80]="abcdefgh":
printf("\nThe original string is:%s\n",s);
fun(s);
printf("\nThe result is:%s\n",s);
}
参考答案:
答案解析: