#字符串倒序输出

实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数的问题。

如果len是奇数,最后一个字符就不需要倒序,如果是偶数,最后两个字符就倒序。

#include "stdio.h"void rechange_str(char *str)
{int i, len;char tmp;if (NULL == str) {return ;}len = strlen(str);for (i = 0; i < len/2; i   ) {tmp = str[i];str[i] = str[len-i-1];str[len-i-1] = tmp;}
}int main(void)
{char str[20] = "hello,world";printf("%s\n",str);rechange_str(str);printf("%s\n",str);return (0);
} 

程序输出

hello,world
dlrow,olleh--------------------------------
Process exited after 0.02841 seconds with return value 0
请按任意键继续. . .

#整型转字符串

实现逻辑,每个整数看其转换进制,从个位到十位百位都可以通过%操作加上/操作获得,再用一个字符数组保存0-F。

用个位数对应值转为字符,注意转换出的字符串是反向的,还要考虑传入的若是负数如何处理,再用翻转字符串完成最后整个操作

下面这段代码需要好好研究一下,最好自己运行试试。

#include "stdio.h"char *sky_itoa(int value, char *str, unsigned int radix)
{char list[] = "0123456789ABCDEF";unsigned int tmp_value;int i, j, k;if (NULL == str) {return NULL;}if (2 != radix && 8 != radix && 10 != radix && 16 != radix) {return NULL;}i = 0;k = 0;if (radix == 10 && value < 0) {tmp_value = (unsigned int)(0 - value);str[i  ] = '-';k = 1;} else {tmp_value = (unsigned int)value;}do {str[i  ] = list[tmp_value%radix];tmp_value /= radix;} while(tmp_value);str[i] = '\0';//翻转char tmp;for (j = k; j < (i k)/2; j  ) {tmp = str[j];str[j] = str[i k-j-1];str[i k-j-1] = tmp;}return str;
}int main(void)
{int a = 1254545;char str[100] ={0};printf("%s\n",sky_itoa(a,str,2));printf("%s\n",sky_itoa(a,str,8));printf("%s\n",sky_itoa(a,str,10));printf("%s\n",sky_itoa(a,str,16));return (0);
} 

程序输出

100110010010010010001
4622221
1254545
132491--------------------------------
Process exited after 0.02963 seconds with return value 0
请按任意键继续. . .

#字符串复制

实现逻辑,逐个赋值直到遇到'\0'停止即可

#include "stdio.h"char *sky_strcpy(char *dst, const char *str)
{if (NULL == dst ||  NULL == str) {return NULL;}char *ret = dst;while (*str != '\0') {*dst    = *str   ;}return ret;
} int main(void)
{char str_1[100] = "hello,world";char str[100] ={0};sky_strcpy(str,str_1);printf("str_1:%s\n",str_1);printf("str:%s\n",str);return (0);
} 

程序输出

str_1:hello,world
str:hello,world--------------------------------
Process exited after 0.03334 seconds with return value 0
请按任意键继续. . .

#字符串比较

1、正常比较是否相同 实现逻辑,判断字符串长度是否相同,若相同逐个比较字符是否相同

#include "stdio.h"int sky_strcmp(char *dst, char *str)
{int i, len;if (NULL == dst || NULL == str) {return 0;}if (strlen(dst) != strlen(str)) {return 0;}len = strlen(dst);for (i = 0; i < len; i  ) {if (*dst   != *str  ) {return 0;}}return 1;
} int main(void)
{char str_1[100] = "hello,world";char str_2[100] = "hello,world";char str[100] = "adfs";printf("%d\n",sky_strcmp(str_1,str));printf("%d\n",sky_strcmp(str_1,str_2));return (0);
} 

程序输出

0
1--------------------------------
Process exited after 0.02802 seconds with return value 0
请按任意键继续. . .

声明:

本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

常见的C语言字符串操作相关推荐

  1. c语言生命字符串,常见的C语言字符串操作

    原标题:常见的C语言字符串操作 #字符串倒序输出 实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数的问题. 如果len是奇数, ...

  2. c语言字符串函数难题,一些常见的C语言字符串操作

    #字符串倒序输出 实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数的问题. 如果len是奇数,最后一个字符就不需要倒序,如果是 ...

  3. c语言字符串的一般操作有,面试必备——常见的C语言字符串操作

    原标题:面试必备--常见的C语言字符串操作 面试中常见的C语言字符串操作,快来看看,是否对你有帮助! 字符串倒序输出 实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里 ...

  4. 面试常见的C语言字符串操作

    #字符串倒序输出 实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数的问题. 如果len是奇数,最后一个字符就不需要倒序,如果是 ...

  5. 这些常见的C语言字符串操作面试题,被问到了吗?

    关注.星标公众号,直达精彩内容 来源:网络素材 整理:李肖遥 字符串倒序输出 实现逻辑,通过strlen获取字符串长度,然后通过 len/2 进行交叉赋值,这里需要注意,不需要考虑len是奇数还是偶数 ...

  6. 字符串操作 c语言,C语言字符串操作(示例代码)

    C语言字符串操作函数 1.strlen strlen用于求一个C风格字符串的长度,函数原型为 #include size_t strlen(const char *s); 返回值为字符串的长度,当遇到 ...

  7. 字符串固定长度 易语言_易语言字符串操作源码

    易语言字符串操作源码 系统结构:字符串_取长度,字符串_取中间,字符串_取左边,字符串_取右边,字符串_替换,到宽字符,到多字节,取文本数据地址,取字节集数据地址,MultiByteToWideCha ...

  8. c++ 字符串连接_C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

  9. C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    C语言字符串操作函数 1. 字符串反转 - strRev 2. 字符串复制 - strcpy 3. 字符串转化为整数 - atoi 4. 字符串求长 - strlen 5. 字符串连接 - strca ...

最新文章

  1. 面试:如何决定使用 HashMap 还是 TreeMap?
  2. 接口文件也是.java结尾吗
  3. js最小化浏览器_Handtrack.js 开源:3行JS代码搞定手部动作跟踪
  4. javaweb学习总结(二十一)——JavaWeb的两种开发模式
  5. 【python 9】python注册器
  6. 移除html,jsp中的元素
  7. Markdown入门指南-指间阁
  8. 力扣 有序数组的平方
  9. 通过postman向OpenTSDB插入数据并查询
  10. 基于 HTML5 的 3D 工业互联网展示方案
  11. 32G内存服务器如何设置虚拟内存,大内存服务器设置虚拟内存
  12. C++ ODB学习(阿里云服务器测试)
  13. 做人做事箴言录(3)
  14. 音频-基于Core Audio技术采集音频(版本2)
  15. 多个jar合并成一个jar
  16. Benchmark(基准测试)初相识
  17. Opencv之cvtColor
  18. c语言主函数调用函数
  19. 以太网,令牌网,FDDI,ATM,WLAN的区别
  20. 【无标题】数据结构与算法课程设计公园导游图

热门文章

  1. java教程java自学_15必须阅读Java 8教程
  2. 为使节构建控制平面的指南第3部分-特定于域的配置API
  3. 反应式服务中的线程本地状态可用性
  4. JDK 11上的JavaFX
  5. javafx简单吗_JavaFX即将推出您附近的Android或iOS设备吗?
  6. Java –远景JDK 8
  7. fork join框架_Java 7:Fork / Join框架示例
  8. 更改日志级别_如何在运行时更改日志记录级别
  9. JUnit 5 –设置
  10. 智能包装结构,提高可测性