c语言的问题 tk227改错

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:28:12
gc227.c 中函数fun的功能是:使输入的一个字符串按反序存放,并在主函数中输出。请改正函数fun中的错误,使它能得出正确的结果。

注意:不得改动main函数,不得增行或删行,也不得更改程序的结构!
#include <string.h>
#include <stdio.h>
main()
{char str[100];
printf("Input string:");
scanf("%s",str);
fun(str);
printf("The result:%s\n",str);
}
fun(str)
char str[];
{char t;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2;i++,j++)
{t=str[i];str[i]=str[j-1];str[j+1]=t;}
}

fun中的for循环:
for(i=0,j=strlen(str)-1;i<strlen(str)/2;i++,j--)
{
t=str[i];
str[i]=str[j];
str[j]=t;
}

(还有几处错误)程序测试成功:
#include <string.h>
#include <stdio.h>
void main()
{ void fun(char *str);
char str[100];
printf("Input string:");
scanf("%s",str);
printf("%s\n",str);
fun(str);
printf("The result:%s\n",str);
}
void fun(char *str)
{
char t;
int i,j;
for(i=0,j=strlen(str)-1;i<strlen(str)/2;i++,j--)
{
t=str[i];
str[i]=str[j];
str[j]=t;
}

}