写一个函数 使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

运行不出来,如图,求解#include<stdio.h>int main(){ char word(char a[30]); char a[30]; int i=0; gets(a);//输入字符 while(a[i]!='\0') { printf("%c",a[i]);//以数组形式输出字符 i++;//控制每一个数组元素 } word(a); printf("\n反转后的字符是:%s\n",a[30]); return 0;}char word(char a[30]){ int i; char temp[30]; i=0; while(a[i]!='/0') { temp[i]=a[i]; i++; } for(int j=0;j<i;j++) a[i]=temp[i-j-1]; return (a[30]);}

#include<stdio.h>
int main()
{
char word(char a[30]);
char a[30];
int i=0;
gets(a);//输入字符
while(a[i]!='\0')
{
printf("%c",a[i]);//以数组形式输出字符
i++;//控制每一个数组元素
}
word(a);
printf("\n反转后的字符是:%s\n",a);
return 0;
}
char word(char a[30])
{
int i,j;
char temp[30];
i=0;
while(a[i]!='\0')
{
temp[i]=a[i];
i++;
}
for(j=0;j<i;j++)
a[j]=temp[i-j-1];

}

追问

不行,还是运行不出来

追答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-04

你这个太麻烦了吧,用这种方法快一些

追问

不是,题目要求用主函数和子函数

追答

那么不难呀,你把判断定为子函数,再用主函数调用不就可以了吗

第2个回答  2010-01-08
修改如下:

//---------------------------------------------------------------------------
#include<string.h>
#include<stdio.h>
void convert(char b[],char m[])
{int i,n;
n=strlen(b);
for(i=0,n--;n>=0;n--,i++)
m[i]=b[n];
}
void main()
{
int i;
char a[100],b[100]={0};
scanf("%s",&a);
convert(a,b);

printf("%s",b);
}

//---------------------------------------------------------------------------
相似回答