高仿模拟练习,补全 found 标记处空缺,答案点击按钮展开
给定程序实现字符串逆序,不使用额外数组,直接在原字符串上完成反转,请补全found标记处空缺。
#include <stdio.h>
#include <string.h>
void fun(char s[])
{
int i=0,j;
char t;
/**********found**********/
while(s[i]!=___1___) i++;
j = i - 1;
i = 0;
while(i<j)
{
/**********found**********/
t = s[i]; s[i]=s[j];___2___;
/**********found**********/
i++; ___3___;
}
}
int main()
{
char str[100];
printf("请输入字符串:");
gets(str);
fun(str);
printf("反转后:%s\n",str);
return 0;
}
\'\0\'
s[j]=t
j--
第1空:计算字符串有效长度,while循环走到字符串结束标记;第2空:交换前后对应位置字符,s[i]与s[j]互换;第3空:i向后移动,j向前移动,循环向中间收拢。测试输入:abc123,输出结果:321cba。