题目:

写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度

程序分析

在C语言中,有两个函数可以在控制台(显示器)上输出字符串,它们分别是:

  • puts():输出字符串并自动换行,该函数只能输出字符串。
  • printf():通过格式控制符%s输出字符串,不能自动换行。除了字符串,printf() 还能输出其他类型的数据。

主要代码

main.c

int fun(char *str){int len=0;while (*str!='\0'){len++;str++;}return len;
}
int main(void){char str[100];char *p=str;printf("请输入一个字符串\n");scanf("%s",p);//gets(str);puts(str);printf("\n长度是:%d",fun(p));system("pause");return 0;
}

运行结果

使用printf函数

使用gets函数

今日巩固

  1. int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址

  2. scanf() 和 gets() 是有区别的:

    • scanf() 读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。

    • gets() 认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。

每日程序C语言38-输入字符串求长度相关推荐

  1. 每日程序C语言20-利用递归求阶乘

    题目: 利用递归方法求5! 程序分析 找出规律5!=5*4! 主要代码 int fun(int n){//递归函数求阶乘int s=1;if(n>1){s=n*f(n-1);}printf(&q ...

  2. 每日程序C语言3-三个数大小排序

    每日程序C语言 题目 输入三个数,按照从小到大的顺序输出 算法分析 在三个数中找出最小的数 比较剩下两个数的大小 依次输出 代码 void sort(int x,int y,int z){if(x&g ...

  3. c语言程序执行时无法输入字符串,C语言程序设计中键盘输入数据的方法分析

    1. 引言 C语言程序设计是一门实践性很强的语言课程,在程序设计过程中经常需要从键盘输入所需要的数据.C语言没有专门的输入语句,可以调用C语言编译系统提供的函数库中的库函数来实现.有些程序虽然调试成功 ...

  4. 每日程序C语言2-判断某日期是这一年的第几天

    每日程序C语言 题目: 输入某年某月某日,判断这一天是这一年的第几天? 程序分析: 闰年和平年的算法,用二维数组来存储月份和天数 核心代码 void fun(int year,int month,in ...

  5. C语言实现“输入年月求对应月份天数”

    C语言实现"输入年月求对应月份天数" 一.运行截图 二.源代码 一.运行截图 二.源代码 #include<stdio.h> main() {int x, y, a, ...

  6. 每日程序C语言5-斐波那契兔子数

    每日程序C语言 题目 古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少? 算法分析 兔子的对数符合斐波那契数列 斐 ...

  7. Python编写程序,实现对输入字符串的大小写字母翻转(即大写变小写、小写变大写)操作

    该程序通过两种方式来实现字母的翻转,一种是通过普通方式,另一种是通过自定义函数的方式来实现,该程序还对用户的输入可靠性进行判断,用户输入的必须是字母,如果输入数字,python程序会提示用户输入错误, ...

  8. 使用C语言实现输入字符串逆序输出

    使用C语言实现输入字符串倒序输出 法1: #include <stdio.h> #include <string.h> #define N 20 int main(int ar ...

  9. 编写一个程序,清除用户输入字符串中的空格符并将之输出。

    编写一个程序,清除用户输入字符串中的空格符并将之输出. 更多资料请点击:我的目录 写法一: #include <stdio.h> #include <string.h>int ...

最新文章

  1. 西南科技大学 计算机组成原理2011-2012,西南科技大学计算机组成原理2010-2011试卷A卷参考答案(2011)...
  2. windows下安装cygwin及配置
  3. 科学家提出了忆阻性神经混合芯片 这一概念
  4. 操作系统:基于页面置换算法的缓存原理详解(上)
  5. Nexus学习笔记 -- 安装到运行
  6. [云炬创业学笔记]第二章决定成为创业者测试18
  7. SAP ABAP和Java里的弱引用(WeakReference)和软引用(SoftReference)
  8. WAMP安装curl扩展并发起https请求
  9. Go基础-核心特性和前景
  10. 大数据开发之路:hive篇,你看了吗?
  11. 【Flutter 问题系列第 54 篇】Flutter 引入阿里矢量图标库的详细图文教程
  12. 三维激光扫描在堆体体积测算中的应用
  13. 验证码识别-Java版
  14. vue2中provide/inject的使用和响应式传值
  15. 计算机声声慢音乐,有没有适合声声慢的背景音乐
  16. Elasticsearch 入门案例
  17. 当x大于时,y等于1;当x等于0时,y等于0;当x小于0时,y等于-1。
  18. 从双非渣硕到字节NLP算法,很强!
  19. ‘数据分析实战’——营销组合分析(甲厨电公司案例)
  20. 用Python爬取需要登录的网站

热门文章

  1. java的indexof怎么配合数组使用_【小知识点??】indexOf在数组中竟能这样使用???!...
  2. 病毒源代码Java_病毒代码_bat病毒代码_java病毒代码(5)
  3. js 设置 table 第一个 tr_华胜天成参与起草中国主导的第一个云计算国际技术报告...
  4. 问题 D: 回文数(n进制加法,模拟)
  5. 「技术人生」:技术同学应该如何理解业务?
  6. 内温的整体优先效应实验_陕西师范大学《普通心理学》第四章-知觉
  7. 《蓝色协议BLUE PROTOCOL》技术分享解读
  8. 在狮驼岭,孙悟空救了猪八戒,猪八戒为何不帮孙悟空?
  9. GTID的常见错误和处理方法
  10. Oracle 11g新特性:Automatic Diagnostic Repository