C语言小程序:除去字符串中间不需要的字符(从小引发大思考)
#include <stdio.h>
#include <conio.h>
void fun(char *a, char *h, char *p)
{
char b[81];
char *c = a;
int i = 0;
while (*c){
if (c <= h){
b[i] = *c;
i++;
}
else if (h < c && c <= p){
if (*c != '*'){
b[i] = *c;
i++;
}
}
else{
b[i] = *c;
i++;
}
c++;
}
for (int j = 0; j < i; j++){
*a = b[j];
a++;
}
*a = '\0'; //puts()遇到空字符停止,空字符不是空白字符,空白字符是指:空格、制表符 \t 等不显示的字符,而空字符‘\0’往往作为字符串的停止字符
}
/* fun()函数如果不加最后的 : *a = '\0'; 将会输出“*****FGHhhhHHW***HHW***",总长度不变;加上这句之后,输出”*****FGHhhhHHW***",相当于把字母中间的'*'删除了,达到目的;
int main()
{
char s[81], *t, *f;
printf("Enter a string:\n");
gets(s); //输入一个字符串,形如"*****FG*H*hhh****HHW***"
t = f = s;
while (*t) t++;
t--;
while (*t == '*') t--; //使 t 指向最后输入字符串的最后一个字母‘W'
while (*f == '*') f++; //使 f 指向输入字符串的第一个字母’F'
fun(s, f, t); //调用函数除去字母间的‘*’,使字符串变为”*****FGHhhhHHW***"
printf("The string after deleted:\n");
puts(s); //输出字符串,puts()遇到空字符‘\0'停止输出;
return 0;
}
C语言小程序:除去字符串中间不需要的字符(从小引发大思考)的更多相关文章
- c语言小程序以及java生成注释文档方法
c语言小程序:sizeof和strlen() sizeof运算符以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,字符和字节不是一回事. char类型用于存储字母和标点符号 ...
- 通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
- C语言小程序——推箱子(窄字符和宽字符)
C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...
- Linux C语言小程序
Linux C语言小程序 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include & ...
- 自动生成.py文件头部的C语言小程序
每次都 vi xxx.py 然后再打 #!/usr/bin/env python 等等的程序头信息感觉有点麻烦,于是便想着写一个小程序自动生成这些头信息了,顺便在 ~/.bashrc 里写入 alia ...
- c语言小程序
这是一个用c语言写的小程序,功能是随机输出30道100以内的四则运算,先生成两个随机数,再通过随机数确定四则运算符号,最后输出题目. #include<iostream> using na ...
- 小程序json字符串转为对象
小程序里json字符串转为对象使用JSON.parse()方法转变无效, 看报错提示有单引号“ ' ” 因为单引号而无效, 将单引号全改双引号即可. 报错如下: VM11050:1 thirdScri ...
- C语言小程序之整除
看到有人要求用C语言写这样一个小程序,就拿来温习一下 需求:输出从1到2015这2015个自然数中,能被4或5整除,但不能被30整除的数,并计算有多少个数. #include<stdio.h ...
随机推荐
- [数据结构]P1.1 链表结构
* 注: 本文/本系列谢绝转载,如有转载,本人有权利追究相应责任. 2019年4月8日 Stan Zhang 2019年4月8日 格物致知,经世致用. [面试题]1.为什么要用链表? 数组具有的缺陷 ...
- 基于Bootsrap的BeyondAdmin前端模板 --分享
1.PC端 2.移动端 3.下载 最新:http://www.yidt.cn/ 链接:https://pan.baidu.com/s/1Tx6EVmGFnVV7H7h3SFwldA 提取码:0btw
- Symbol Vs String
最重要区别 1 symbol存入内存后,始终存在,如果不进行垃圾收集,可能导致内存泄漏. String只会存在于某个创建它的作用域内.即有生命周期的. 2.唯一性. \\进入控制台 >" ...
- python-html基础操作
介绍: HTML 是网页内容的载体.包括文字,图片,信息等用户浏览的信息CSS 样式是改变内容外观表现.像字体,颜色,背景,边框等JavaScript 是实现网页上的特效效果.如鼠标滑过背景 ...
- React文档(十一)提升state
经常有些组件需要映射同一个改变的数据.我们建议将共用的state提升至最近的同一个祖先元素.我们来看看这是怎样运作的. 在这一节中,我们会创建一个温度计算器来计算提供的水温是否足够沸腾. 我们先创建一 ...
- Pyhon中运算符的使用
1. a & b python中的&延续了C/C++的含义,表示位运算. 例如 3 & 4:3&5:6&7 3 & 4 = (011)2 & ( ...
- 重构 改善既有代码的设计 Replace Method with Method Object(以函数对象取代函数)
你有一个大型函数,其中对局部变量的使用使你无法采用Extract Method. 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的字段.然后你可以在同一个对象中将这个大型函数分解为多个小型 ...
- 移动 Ubuntu16.04 桌面左侧任务栏到屏幕底部
按下 Ctrl + Alt + t 键盘组合键调出终端,在终端中输入以下命令: gsettings set com.canonical.Unity.Launcher launcher-position ...
- Git常用指令和GitHub操作总结
Git版本管理工具(CVS) 首先粘上两个Git的基础链接~ 阮一峰:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 廖雪峰:h ...
- 【leetcode】437. Path Sum III
problem 437. Path Sum III 参考 1. Leetcode_437. Path Sum III; 完