C语言字符数组的输入与输出的详细说明

这篇具有很好参考价值的文章主要介绍了C语言字符数组的输入与输出的详细说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前记:由于c面向过程编程语言,不像C++和java等面向对象的编程语言,没有string类。

只能凭借数组存储字符串。接下来是关于c语言的字符数组的输入输出的详细说明!

一,输入函数

1.scanf()

  • scanf这种格式串不能接收带空格的字符串,比如输入"abc 123 678"的话,字符串只会接收到abc,遇空格就结束;只能读取一个字符串,并在末尾添加一个空字符(‘\0’)

C语言字符数组的输入与输出的详细说明
  • 使用scanf时,最后的“敲”(回车\n)会遗留在缓冲区中,如果使用scanf,则需要使用gerchar()将缓冲区的Enter吃掉

C语言字符数组的输入与输出的详细说明

缓冲区中残留‘\n’

C语言字符数组的输入与输出的详细说明
C语言字符数组的输入与输出的详细说明

getchar()清除'\n'

C语言字符数组的输入与输出的详细说明

2.gets()

  • 弊端:gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间.该函数只知道数组的开始处,并不知道数组的大小,如果输入的字符串过长容易溢出,可能擦写掉程序中的其他数据导致程序异常终止。

  • 原理:读取整行的输入直至遇到换行符,然后丢弃换行符,所以缓冲区中不会遗留换行符储存其余字符,并在这些字符末尾添加一个空字符‘\0’使其成为一个字符串。()

C语言字符数组的输入与输出的详细说明

可以读取‘空格’不间断

3.getchar()

  • 原理:从输入缓冲区中读取一个字符可以读取空格'\0'.直至读到换行'\n',将其从输入缓冲区中去除舍弃

C语言字符数组的输入与输出的详细说明

二,输出函数

  1. printf()

  • 需要结合占位符使用 比如 :整型(%d)字符型(%c)字符串型(%s)

  • 输出结束标识符为:'\n'; 不自动换行 换行需要手动加'\n';

  1. puts()

  • 只能输出字符串

  • 自动换行

三,总结

字符串的输入输出

(1)使用scanf和printf

这俩函数用途比较广泛,可以用来输入输出int char float等。同样可以输入输出字符串,只不过这里的占位符是%s,

(2)使用gets和puts

这俩函数只能用于字符串的输入输出

(3)这两套的区别:

  • scanf遇到空格、回车就会终止!会把'\n'留在缓存区,通常需要与getchar()相结合,去除‘\0’ 并在字符串末尾自动添加‘\0’;

  • gets认为空格也是字符,可以将空格输入,遇到回车才会终止!会吃掉‘\n’,不会留在缓冲区, 并在字符串末尾自动添加‘\0’;

  • getchar()一次只能读取一个字符,可以读取空格,遇到回车才会终止!会吃掉‘\n’,不会留在缓冲区,不会在字符串末尾添加‘\0’,通常需要手动添加。

  • printf输出时,需要加\n才会换行;而puts函数自带换行功能!!!文章来源地址https://www.toymoban.com/news/detail-494962.html

到了这里,关于C语言字符数组的输入与输出的详细说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言-字符串与输入输出

    在 C 语言中,字符串实际上是使用空字符 \\0 结尾的一维字符数组。因此,\\0 是用于标记字符串的结束。 空字符(Null character)又称结束符,缩写 NUL,是一个数值为 0 的控制字符,\\0 是转义字符,意思是告诉编译器,这不是字符 0,而是空字符。 比如:下面声明和初始化创建

    2024年02月02日
    浏览(57)
  • 字符输入输出 C语言xdoj16

    问题描述: 通过键盘输入5个大写字母,输出其对应的小写字母,并在末尾加上“!”。 输入说明: 5个大写字母通过键盘输入,字母之间以竖线“|”分隔。 输出说明: 输出5个大写字母对应的小写字母,之间无分隔,并在末尾加上‘!’。 输入样例: H|E|L|L|O 输出样例:

    2024年02月02日
    浏览(35)
  • [C][整理][数组]从键盘输入一个字符串(其长度小于20),找出其中ASCII码值最小的字符,并输出该字符。

    题目:从键盘输入一个字符串(其长度小于20),找出其中ASCII码值最小的字符,并输出该字符。 只允许在 /***Program***/ 与 /***End***/ 之间添加。 测试输入:kdjhfkbe 测试输出:b 该程序的主要步骤是读取用户输入的字符串、遍历字符串中的每个字符,找到ASCII码值最小的字符并输出

    2024年02月06日
    浏览(76)
  • 将输入的字符串反向输出(c语言)

    2024年02月05日
    浏览(59)
  • C语言学习:输入一行字符串,输出字符串中最长的单词。

    输入一行字符,编写一个函数,将此字符串中最长的单词输出。 代码示例如下: 一、输出字符串中第一个最长单词 测试结果:  二、输出字符串中所有最长单词 评论区指出上述程序不能输出同样最长的两个单词,修改后该程序能输出所有最长单词,即如果有多个同样最长的

    2024年02月05日
    浏览(57)
  • 【C语言】getchar和putchar函数详解:字符输入输出的利器

    目录 📌getchar函数 ▪️ 函数原型: ▪️ 目的: ▪️ 返回值: ▪️ 用法: 📌putchar函数 ▪️ 函数原型: ▪️ 目的: ▪️ 参数: ▪️ 返回值: ▪️用法: 📌实例 ▪️ 输入密码并确认流程 📌总结 getchar 和 putchar 是两个标准 C 库函数,用于 C 编程中的输入和输

    2024年02月16日
    浏览(40)
  • C语言:编写函数进行一维数组输入输出和求平均值

    任务描述 本关任务:从键盘输入某班学生 C 语言课的成绩(已知该班人数为 40 人),要求分别定义三个子函数分别进行数组输入、输出和求平均分。 相关知识 如果希望定义一个函数,能对一个数组整体进行操作,我们应该注意以下 3 点: 定义函数时,形参是一维数组,那么主

    2024年02月06日
    浏览(49)
  • 【C语言】中,输入一个数组,实现将输入的n个数字按照从大到小的顺序输出。【通俗简单易懂】

    本篇文章中,我们将讲述在C语言中,输入一个数组,如何用for循环实现将输入的n个数字按照从大到小输出。 首先,我们定义一个整形的数组并将其初始化。输入n,来决定数组中整数的个数。 然后用for循环来输入这个数组中的各个数字。 接下来,就是对这个数组中的数字进

    2024年02月08日
    浏览(46)
  • C语言:写一个函数,求字符串的长度,在main函数中输入字符串并输出其长度(指针)

    分析:    在程序中,定义一个函数 fix,该函数使用指针变量来访问字符串中的每个字符,并计算出字符串的长度。fix 函数的参数为指向 char 类型的指针变量 p,表示需要计算长度的字符串。   在主函数 main 中,定义一个大小为 20 的字符数组 a,用于存储输入的字符串。然

    2024年01月21日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包