谁帮我看哈这道题有没有问题?

来源:百度知道 编辑:UC知道 时间:2024/06/29 22:42:54
我找不到问题,可运行的结果是错误的呀!例如是abcd,我要的结果是dcba可运行的结果是dccd!!
#include<stdio.h>
#incldude<string.h>
Void fun(char*s);
{Int I,j,s1;char t;
S1=strlen(s);
For(i=s1-1,j=0;j<=I;j++,i--)
{t=s[i];
S[j]=t;
}
}
Main()
{ char s[80];
Printf(“\n please input string s:”);
Gets(s);
Fun(s);
Printf(“the result is :%s\n”,s);
}

看了一下,是fun函数里的内容错了。
你把s[i]放到t里。然后又让s[j]=t,这不就等于s[j]=s[i]了嘛……
应该是
for(i=sl-1,j=0;j<=i;j++,i--)
{
t=s[i];
s[i] = s[j];
s[j]=t;
}

错误很多帮你重新写了一下
#include<stdio.h>
#include<string.h>
void fun(char *s)
{int i,j,s1;
char t,k;
s1=strlen(s);
for(i=s1-1,j=0;j<=i;j++,i--)
{t=s[i];
k=s[j];
s[j]=t;
s[i]=k;
}
for(i=0;i<s1;i++)
printf("%c",s[i]);
}
main()
{ char s[80];
printf("please input string s:\n");
gets(s);
fun(s);
getch();
}

#include <stdio.h>
#include <string.h>

void func(char *s);
int main()
{
char s[60];
gets(s);
fun(s);

}

void fun(char *s)
{
int i , j = 0, lang;
char sa[60];

lang = strlen(s);
i=lang-1;

for (i,j; i>=0;