问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言字符串逆转函数

发布网友 发布时间:2022-06-01 01:41

我来回答

2个回答

热心网友 时间:2023-11-08 23:50

只需要将字符数组的前后数据进行交换就行了。


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

char* reverse(char *x)
{
    int i, tem, len = strlen(x);
    int n = len / 2;
    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 p[] = "abcdefghijk";
    printf("relust = %s\n", reverse(p));
    return 0;
}

热心网友 时间:2023-11-08 23:51

你的逻辑是对的,转置函数也是对的。就是有三个小问题:
#include <stdio.h>
int main(){
void nizhuan(char []);
int i,j,n;
char a[100]={0};
printf("请输入字符串,以@结束:");
/********输入有问题:你要判断之前输入的是不是@,而不是判断将要输入的是不是@*******/
scanf("%c",&a[0]);
for(i=1;a[i-1]!='@';i++)
scanf("%c",&a[i]);
/********输入*******/
nizhuan(a);
printf("%s",a); /* 缺少输出 */
}
void nizhuan(char a[]){
int i,j,n;
char t;
for(i=0;;i++)
if(a[i]=='@') /* 等号错误 */
break;
i--;
n=(i+1)/2;
for(j=0;j<n;j++,i--)
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}追问非常感谢!!那么能否讲解一下传址调用的格式??有些迷茫。。。

追答你这个就属于地址调用的一种,你传的是字符串,其实传进去就是字符指针。
所谓地址调用,就是这个样子:
void SetA(int* pa)
{
*pa=5; //这边pa是一个指针,要使用pa指向的值或者要改变pa指向的值就要用*pa;
pa[0]=5; //这一句和上一句是等价的。
}
int main()
{
int a=4;
SetA(&a); //传进去的是你想改变的变量的地址,或者是数组的某一个指针。
printf("%d\n",a); // a=5
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“晚来天欲雪,能饮一杯无?”是什么意思_出处及原文翻译_学习力 胸肌中部怎么练 血沉高是怎么回事,怎样才能降低啊! 中海锦江城多久交房 “QMS”作为“质量管理体系”的英文缩写,其背后理论及应用如何?_百度... 我用QQ登的快手绑定了一个电话号码,电话号码不用了,现在怎么能登得进去... 桂林银行白金客户条件 桂林银行最高等级卡 iQOO 11系列曝光,预计年底正式发布! vivo X90先别买?iQOO 11系列配置堪称豪华 微信怎么查名下有几个 c语言如何实现字符串按位翻转 西游记第14回好词佳句摘抄 c语言如何实现字符串的反转 西游记第44回的好词? 《西游记》第44回的好词有哪些? 怎么做才能减肥减掉二十斤 怎么减肥最快时间减二十斤 作为一个学生,怎么合理的减肥减掉二十斤左右 农商银行怎么删除收款人 我怎么才可以减下二十斤阿! 京东快递单号JDVC00128256098现在在什么地方? jdvc京东物流查询3953021432? 京东快递单号JDVC00128256098货到那里了 京东快递单号JDvc00160893480到那里了 京东快递运单号JDVC01665614361? 京东快递运单号jdvc00313585259货到付款 空袭6穿42韦德之道8穿多少? 李宁空袭6有气垫吗? 空袭6有没有碳板 c语言中,字符反转,怎么做?(还没学指针) 用C语言,翻转字符串,(例如输入“ABCD”,则输出“DCBA”)!方法越多越好!! 快来看看啊!!!急求,,,,在线等!!c语言编程问题:输入一个字符串,将它反向输出。 C语言。输入一个字符串按反方向存放,并将其输出。怎样编写这个程序? C语言怎么将字符串数组元素进行逆转 如何查看自己名下的 苹果怎么换系统 天天基金买打新债用那个银行卡好呢? 煤气罐(液化气罐)能不放到使用放倒有危险吗? 求一道汇编上机题 .设AX、BX中是带符号数,CX、DX中是无符号数,请写出实现以下功能的指令或程序段。 The school is ()the park.1.next 2.next to 3.the next 4.the next to如题 谢谢了 香奈儿口红37号有1g的吗 闪电侠、神力女超人、黑寡妇、黑豹和鹰眼会出个人真人电影吗?黑寡妇和黑豹貌似有消息,而且百度百科也能 晶澳科技股票股市行情大盘 声音到底是通过什么形式传播的,是波还是声波? 交换空间全国有多少家 南京交换空间装饰怎么样? 交换空间有限公司怎么样? 天水市交换空间装饰公司好吗?马上装修了,不知道用哪家公司。