C语言 大侠帮个忙

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:52:44
#include<stdio.h>
#include<string.h>
#define N 100
main()
{extern char contrary(char operation);
char string[N];
int i,j,k;
printf("enter the string of character:\n");
gets(string);
contrary(string);
printf("%s\n",string);
}
char contrary(char operation[N])
{int i,k;
int tem;
k=strlen(operation);
for(i=0;i<=k/2;i++)
{tem=operation[k-i];operation[k-i]=operation[i];operation[i]=tem;}
return(operation);
}
输入个字符串,再反过来输出。大侠我调试了一天了呀!哭!大侠半个忙赛。

调试的时候你哪里错误了它会停在那一行的。。。仔细看看错误了对照书本慢慢改。。。。一天时间。。。也太久了点 。。学这个多做点题目。由简单慢慢加难度。错误遇到的多了范的也就少了

错误有::
char string[N]; 不可以这样定义。。只能定义一个字符串然后下你再面编写个输入字符串。。
gets(string); 这里括号里写的不是string是你定义的字符串也就是N。
contrary这个我是没见过。。。。还没见过有个反相可以用。。。

还有这一段是多余的。。
char contrary(char operation[N])
{int i,k;
int tem;
k=strlen(operation);
for(i=0;i<=k/2;i++)
{tem=operation[k-i];operation[k-i]=operation[i];operation[i]=tem;}
return(operation);

这是我做的。。调试过了。。

用指针解法
#include <stdio.h>
#include <string.h>
void main()
{
char a[100],*p=a,*pa;
int n;
gets(p);
n=strlen(p);
for(pa=a+n-1;pa>=a;pa--)
printf("%c",*pa);
getch();
}


不用指针解法
#include <stdio.h>
void main()
{char ch,s1[100],s2[100];
int i,j,n;
gets(s1);
s2[n=strlen(s1)]='\0';
for (i=0,j=n