#include <stdio.h>
#include <string.h>int main()
{char str1[] = "love";char str2[] = "FishC";if (strlen(str1) - strlen(str2) < 0){printf("字符串"%s"比字符串"%s"短!\n", str1, str2);}else{printf("字符串"%s"比字符串"%s"长!\n", str1, str2);}return 0;
}

注意这个strlen 函数,这个函数返回值是unsigned类型,所以加减等于复数,将会是乱的

动手实现一个strncmp函数

#include <stdio.h>int main(void){char s1[100];char s2[100];int n,i;printf("请输入第一个字符串:");fgets(s1,100,stdin);printf("请输入第二个字符串:");fgets(s2,100,stdin);printf("请输入比较的字符数:");scanf("%d",&n);for(i=0;i<n && s1[i]!='\0' && s2[i]!='\0';i++){if(s1[i]!=s2[i]){i++; break;}}//这里会有两种情况,一种是循环结束,另一种是if结束,两种有个区别,一个执行了i++,另一个未执行i++;,所以需要平衡两边 printf("比较结果是%d\n",s1[i-1]-s2[i-1]);   //因为这么写当i=5时,退出循环, return 0;
}
1. 按下边要求写程序。
要求 A:定义一个长度为 21 的字符数组,用于存放用户输入的文本;
要求 B:如果用户输入的文本长度超过 20 个字符,且文本中存在空格,则截取至最接近末尾(第 20 个字符串)的空格;
要求 C:如果用户输入的文本长度超过 20 个字符,且文本中不存在空格,则打印前 20 个字符。#include <stdio.h>
#include <string.h>int main(void){char s[100];int len,i,flag=20;printf("请输入一行文本:");fgets(s,100,stdin);printf("你输入的文本是:");len=strlen(s);if(len<20){printf("%s\n",s);}else{for(i=0;i<20;i++){if(s[i]==' '){flag=i;  //记录最后一个空格 }}for(i=0;i<flag;i++){printf("%c",s[i]);}}return 0;
} 
2. 根据要求再写一个字符统计程序,不过这个要更复杂一些。
要求 A:统计用户输入的所有字符个数;
要求 B:统计不同的字符个数,并打印出来;
要求 C:找出出现次数最多的字符#include <stdio.h>
#include <string.h>int main(void){int ascii[128]={0};    //默认设置为0char c[100];int cot,len,i,j=0,max=0,flag;char s[100];printf("请输入英文文本:");fgets(s,100,stdin);len=strlen(s);for(i=0;i<len-1;i++){    //len-1是为了避免遍历最后一个回车,因为fgets会读取最后的回车 ascii[s[i]]++;}for(i=0;i<128;i++){if(ascii[i]>0){    //大于0说明这个字符出现过 c[j++]=i;//统计出现个的字符if(ascii[i]>max){   //max用于统计次数 flag=i;max=ascii[i];    //这里需要更新max的值}}}c[j]='\0';printf("你总共输入%d个字符,其中不同的字符个数有%d个。\n",len-1,strlen(c));printf("他们是:");for(i=0;i<strlen(c);i++){printf("%c",c[i]);}printf("\n出现次数最多的是:‘%c’,他总共出现了%d次。\n",flag,ascii[flag]);return 0;
}

小甲鱼 C语言 19课 字符串的处理函数相关推荐

  1. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  2. C语言中的字符串转数字函数常见问题详解

    目录 C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 字符串转长整形 strtol函数, C语言中的字符串转数字函数常见问题详解 字符串转整形 atoi函数 函数原型: int a ...

  3. C语言中求字符串长度的函数my_strlen()的几种实现方法

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...

  4. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  5. python编程练习(小甲鱼)第16-20课

    1.将可迭代对象转化为列表,元组,字符串的内置函数 list() tuple() str() 2.区分reverse()和reversed(),为什么用法不一样 reverse()是python中列表 ...

  6. 小甲鱼第十九课:函数:我的地盘听我的课后总结

    0. 下边程序会输入什么? def next():print('我在next()函数里...')pre() def pre():print('我在pre()函数里...')next() 我在next( ...

  7. 【Python】小甲鱼课后习题第20、21讲--函数(中)

    问答题 1. 在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字? 答:nonlocal 关键字.举例如下: >>> def Fun1():x = 5def ...

  8. 杂记(二):while(*target++)(位于小甲鱼C语言视频第22课)

    在鱼C论坛课后习题遇到了下面这段代码,简记下对其中while(*target++ != '\0') 的理解 #include <stdio.h>#define MAX 1024int ma ...

  9. 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力

    编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...

  10. 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)

    目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...

最新文章

  1. linux 毫秒 转换方法,linux-将抖动转换为毫秒
  2. 使用jquery 根据下拉列表的name值查找被选中的值
  3. 在Apache的POI XWPFRun对象分隔文本行
  4. volcanol_linux_shell_汇总贴
  5. python三引号 内部变量_python在三引号中使用变量
  6. Linux centosVMware zip压缩工具、tar打包、打包并压缩
  7. kcbzps oracle_快速进行Oracle安装及配置
  8. 将js文件打包进dll 方法3
  9. mysql数据库实现主从复制
  10. ARouter使用随记
  11. 2021-03-14Java大数据Week2
  12. JSP/Servlet-----charset 、pageEncoding差别
  13. 测试用例的设计要素以及设计测试用例的方法
  14. linux修改目录的owner及group权限
  15. 浅谈编程能力的培养与提高——写给编程初学者的话
  16. 微信壁纸小程序源码修复图片无法下载-完美运营版本
  17. MyBatis关联嵌套映射(association、collection、discriminator)
  18. elasticsearch 的分词
  19. 赛普拉斯CYpress,初接触之一电磁感应触摸按键demo
  20. 【Solr】--简介

热门文章

  1. 如何编写用户故事的验收标准
  2. Windows电脑上最好的3个txt阅读器
  3. 前端开发学习要装哪些电脑软件
  4. ym——android源码大放送(实战开发必备)
  5. 高恪智能流控怎么设置_K2P智能流控效果(高恪)
  6. 数据处理(二):wgs84坐标的UTM投影
  7. 随笔 M330华为盒子 4k播放
  8. Python之OpenGL笔记(31):扭动的软糖
  9. 基于深度学习的关系抽取
  10. 使用QUARKUS开发JSON REST 服务