C语言 输入一个长度不超过10个字符的字符串,将其反序输出。要求两种方法

要求这样反序strabcd\0strdcba\0第一种:把内存1反序到内存2内存1:str[0]astr[1]bstr[2]cstr[3]d内存2:str[0]dstr[... 要求这样反序
str abcd\0
str dcba\0
第一种:
把内存1反序到内存2
内存1:str[0] a str[1] b str[2] c str[3] d
内存2:str[0] d str[1] c str[2] b str[3] a
然后再把内存2传到内存1

内存2:str[0] d str[1] c str[2] b str[3] a
内存1:str[0] d str[1] c str[2] b str[3] a
第二种:
用一个变量来做临时储存
展开
 我来答
匿名用户
2014-09-29
展开全部

第森族一种:

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

int main()
{
char str1[] = "abcd";
char str2[10] = {0};
int i, j=0, len = strlen(str1);

for (i=len-1;i>=0;i--) {
str2[j] = str1[i];
j++;
}
for (i=0;i<len;i++)
str1[i] = str2[i];
printf("%s\n"亩春升, str1);

return 0;
}

第二种:

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

int main()
{
char str[] = "abcd";
char tmp;
int i, len 迅老= strlen(str), j=len-1;

for (i=0;i<len;i++) {
if (i>len/2)
break;
tmp = str[i];
str[i] = str[j];
str[j] = tmp;
j--;
}
printf("%s\n", str);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
流年望月心自远
推荐于2016-09-03
知道答主
回答量:2
采纳率:0%
帮助的人:2.4万
展开全部
第一种悔芹:
#include<stdio.h>
void main()
{
char str[10]={"abcd"碧孝毕};
char str2[10];
int i,j=0;
for(i=0;str[i]!='\0';i++);
i--;
for(;i>=0;i--)
{
str2[j++]=str[i];
}
for(i=0;str2[i]!='\0';i++)
{
str[i]=str2[i];
}
printf("%s",str);
}

第二种:
#include<stdio.h>
void main()
{
char str[10]={"abcd"};
char c;
int i,j=0;
for(i=0;str[i]!='慎山\0';i++);
i--;
for(;j<i;j++,i--)
{
c=str[i];
str[i]=str[j];
str[j]=c;
}
printf("%s",str);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式