当前位置: 首页 > news >正文

纪念逝去的岁月——C/C++字符串反转

几年前,我还不会写这个

输入:hello world

输出:dlrow olleh

代码

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 void cvtstring(char * pStr)
 5 {
 6     if(NULL == pStr)
 7     {
 8         return ;
 9     }
10     int iLen = strlen(pStr);
11     int iStart = 0, iStop = iLen / 2;
12     int i  = 0;
13     for(i = iStart; i < iStop;i++)
14     {
15         char x = pStr[i];
16         /*printf("x = %c\n", x);*/
17         pStr[i] = pStr[iLen - 1 - i];
18         pStr[iLen - 1 - i] = x;
19     }
20 }
21 
22 int main()
23 {
24     char p[100] = {"hello world"};
25     printf("src : [%s]\n", p);
26     cvtstring(p);
27     printf("dst : [%s]\n\n", p);
28 
29     printf("src : [%s]\n", p);
30     cvtstring(p);
31     printf("dst : [%s]\n", p);
32 
33     return 0;
34 }

编译

$ g++ -o cvtstring cvtstring.cpp

运行

$ ./cvtstring 
src : [hello world]
dst : [dlrow olleh]

src : [dlrow olleh]
dst : [hello world]

再见……

 

相关文章:

  • 【SICP练习】92 练习2.65
  • 第十七章——配置SQLServer(1)——为SQLServer配置更多的处理器
  • mysql全文索引____ft_min_word_len
  • 浅谈Servlet
  • [推荐]DDOS攻击与防范知识介绍
  • leetcode------Reverse Words in a String
  • js中常用数组方法concat join push pop slice splice shift
  • 那些年,一起学的Java 2-4
  • 那些年,一起学的Java 3-3
  • Android SDK下载项的说明
  • Linux内存管理_stack区的地址方向
  • 简单易懂的现代魔法——Play Framework攻略1
  • struts2上传文件,文件大小默认最大值的修改
  • **PHP二维数组遍历时同时赋值
  • Windows server 2008系统的安装
  • 时间复杂度分析经典问题——最大子序列和
  • angular组件开发
  • es6要点
  • jQuery(一)
  • Selenium实战教程系列(二)---元素定位
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vue中实现单选
  • 关于使用markdown的方法(引自CSDN教程)
  • 缓存与缓冲
  • 深度解析利用ES6进行Promise封装总结
  • 实战|智能家居行业移动应用性能分析
  • 使用agvtool更改app version/build
  • 项目实战-Api的解决方案
  • 小程序button引导用户授权
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 安徽锐锋科技IDMS系统简介
  • #FPGA(基础知识)
  • #pragma 指令
  • (0)Nginx 功能特性
  • (12)Linux 常见的三种进程状态
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (C语言)二分查找 超详细
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • .NET Core 中插件式开发实现
  • .NET Core 中的路径问题
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NetCore 如何动态路由
  • .NET导入Excel数据
  • .NET简谈设计模式之(单件模式)
  • .NET开发者必备的11款免费工具
  • ::前边啥也没有
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [AIGC] 使用Curl进行网络请求的常见用法