C语言:编写一个函数,将一个字符串按逆序存放。在主函数中输入和输出字符串。
关于我编写的:#include<stdio.h>#include<string.h>charstr1[50];intn=strlen(str1);intmain(){ch...
关于我编写的:
#include<stdio.h>
#include<string.h>
char str1[50];
int n=strlen(str1);
int main()
{
char inverted(char str[]);
printf("Please input a string:\n");
gets(str1);
printf("转换后的字符串为:%s\n",inverted(str1));
return 0;
}
char inverted(char str[])
{
char str2[50];
int i;
for(i=0;i<n;i++)
str2[i]=str[n-i];
return(str2[i]);
}
VC++6.0 运行结果:程序运行出错。需请教一下问题的根源。 展开
#include<stdio.h>
#include<string.h>
char str1[50];
int n=strlen(str1);
int main()
{
char inverted(char str[]);
printf("Please input a string:\n");
gets(str1);
printf("转换后的字符串为:%s\n",inverted(str1));
return 0;
}
char inverted(char str[])
{
char str2[50];
int i;
for(i=0;i<n;i++)
str2[i]=str[n-i];
return(str2[i]);
}
VC++6.0 运行结果:程序运行出错。需请教一下问题的根源。 展开
4个回答
推荐于2017-10-05 · 知道合伙人软件行家
关注
展开全部
反序字符串,只需要将首尾字符依次调换即可。
#include <stdio.h>
#include <string.h>
// 反序字符串x并返回
char* reverse(char *x)
{
int len = strlen(x);
int i, n = len / 2;
char tem;
for (i = 0; i <= n; i++)
{
tem = x[i];
x[i] = x[len - 1 - i];
x[len - 1 - i] = tem;
}
return x;
}
int main()
{
char str[100];
printf("input a string :");
gets(str);
puts(reverse(str));
return 0;
}
展开全部
你函数写在后面的话,前面至少要声明一下的。。
#include <stdio.h>
int main()
{
char input[50];
int i=0,j;
printf("pleaes input a string\n");
while((input[i]=getchar())!='\n')
i++;
for(j=i;j>=0;j--)
printf("%c",input[j]);
return 1;
}
#include <stdio.h>
int main()
{
char input[50];
int i=0,j;
printf("pleaes input a string\n");
while((input[i]=getchar())!='\n')
i++;
for(j=i;j>=0;j--)
printf("%c",input[j]);
return 1;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错了这么多 - -
看看改好的
#include
#include
#define N 50
void reverse(char a[])
{
int i,j,temp;
for(i=0,j=strlen(a)-1;i<j;i++,j--)
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
char b[N] = "";
printf("请输入一串字符:\n");
scanf("%s",b);
printf("反序输出的结果是:\n");
reverse(b);
puts(b);
}
又不懂得继续问。
看看改好的
#include
#include
#define N 50
void reverse(char a[])
{
int i,j,temp;
for(i=0,j=strlen(a)-1;i<j;i++,j--)
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
void main ()
{
char b[N] = "";
printf("请输入一串字符:\n");
scanf("%s",b);
printf("反序输出的结果是:\n");
reverse(b);
puts(b);
}
又不懂得继续问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐回答反序字符串,只需要将首尾字符依次调换即可。include include 反序字符串x并返回 char*reverse(char*x) { int len=strlen(x);int i,n=len/2;char tem;for(i=0;i;i+) { tem=x[i];x[i]=x[len-1-i];x[len-1-i]=tem;} return x;} int main() { char str[100];printf("input a string:");gets(str)...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询