C语言中字符串实现正序与逆序实例详解
时间:2019-03-30
本文章向大家介绍C语言中字符串实现正序与逆序实例详解,主要包括C语言中字符串实现正序与逆序实例详解使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
C语言中字符串实现逆序实例详解
字符串逆序和正序的实现代码:
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <malloc.h> #include <string.h> /*定义*/ typedef struct node { char c; struct node *llink,*rlink; }stud; /*建立链表*/ stud * creat(void) { stud *p,*h,*s; char a; if((h=(stud *)malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } h->c = 0; h->llink=NULL; h->rlink=NULL; p=h; while(1) { a = getchar(); if(a=='\n') break; if((s= (stud *) malloc(sizeof(stud)))==NULL) { printf("不能分配内存空间!"); exit(0); } p->rlink=s; s->c =a; s->llink=p; s->rlink=NULL; p=s; } h->llink=s; p->rlink=h; return(h); } /*正序*/ void print1(stud *h) { stud *p; p=h->rlink; printf("字符串(正序):"); while(p!=h) { printf("%c",p->c); p=p->rlink; } printf("\n"); } /*逆序*/ void print2(stud *h) { stud *p; p=h->llink; printf("字符串(逆序):"); while(p!=h) { printf("%c",p->c); p=p->llink; } printf("\n"); } /*释放*/ void free_stud(stud *h) { stud *p,*q; p=h->llink; while(p!=h) { q=p; p=p->llink; free(q); } free(h); } /*主函数*/ int main() { stud *head=NULL; head=creat(); print1(head); print2(head); free_stud(head); return 0; }
实现效果图:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- 动手写个数字输入框3:痛点——输入法是个魔鬼
- Thinking in React Implemented by Reagent
- ssm整合Redis
- 前端魔法堂——调用栈,异常实例中的宝藏
- 开启MySQL的binlog日志
- C#解析JSON
- 动手写个数字输入框1:input[type=number]的遗憾
- 小猪农场获百万天使轮,六声域名源自运营主体
- Intellij idea 的maven项目自动下载jar包
- python3和python2共存
- 揭密微信跳一跳小游戏那些外挂
- 特斯拉出现人才流失潮,竟因为一些工程师认为Autopilot自动驾驶技术并不安全
- 微信又更新了,这次放出年度大招!新变化让不少人拍手叫好!
- “JINAN”:未来电动汽车边跑边充电
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ResilioSync:公私兼备的同步盘
- 面向对象语言的三大特征: 封装 继承 多态(二)——继承
- 教你如何设置宝塔面板 Brotli压缩
- Message: session not created: This version of ChromeDriver only supports Chrome version 83
- 宝塔BT面板 设置开启TLSV1.3
- 02 复杂度分析_pythoner学习数据结构与算法系列
- 修改Mysql数据库的数据存储位置
- 使用Caddy搭建TLS1.3+HTTP2代理
- 一文带你了解Python爬虫(一)——基本原理介绍
- 关于修改window.navigator.webdriver代码失效问题
- 一文带你了解Python爬虫(二)——四种常见基础爬虫方法介绍
- 当 snapshot 失败时发生了什么
- python 文件管理神器os.walk-文件指定日期整理程序
- 项目驱动-两日速成Docker日记
- python os模块 --- 操作系统接口模块