在采用字符串方式后,字符数组的输入输出将变得简单方便。除了上述用字符串赋初值的办法外,还可用scanf函数和printf函数一次性输入输出一个字符数组中的字符串,而不必使用循环语句逐个输入输出每个字符。

要输出一个字符串需要在printf函数的格式描述串中使用转换字符串“%s”,表示输出的是一个字符串。如:

char name[]="Hello world";

printf("%s\n",name);

在printf语句中使用了转换字符串“%s”,因此输出参数中只给出数组名即可。同样,要输入一个字符串也要加转换字符串“%s”。如:

char name[15];

printf("请输入姓名:\n");

scanf("%s",name);

printf("%s",name);

由于定义数组name的长度为15,因此输入的字符串长度必须小于15,以留出1字节用于存放字符串结束标示'\0'。对一个字符数组,如果不作初始化赋值,则必须说明数组长度。然而,scanf()语句在按下回车键前都将接收字符。按下回车键后,scanf()在字符串末尾插入一个空字符'\0'以标示字符串结束。因此,如果键入25个字符后再按下回车键,尽管字符串声明为仅由15个字符构成,它仍将接收并存储字符。因此,对字符串使用scanf()时,必须注意输入字符串长度不能超过声明字符串时指定的大小。这是因为输入多余字符后,编译器也不会发出任何错误提示或警告,这些字符甚至被接收并存储在内存中,造成程序隐患。scanf()语句不允许在输入中存在空白字符。例如,当用scanf()接收字符串时,键入“Liu De Hua"后,只有“Liu”被存储在内存中,而空格字符后的其他剩余字符将被丢弃。要克服这个问题,C语言中提供了gets()和puts()函数,分别用于字符串的输入和输出。

puts函数的格式为:

puts (字符数组名);

功能:把字符数组中的字符串输出到显示器。即在屏幕上显示该字符串。

gets函数的格式为:

gets (字符数组名);

功能:从标准输入键盘上读入一个完整的行(从标准输入读,一直读到遇到换行符),把读到的内容存入括号中指定的字符数组里。并用空字符'\0'取代行尾的换行符'\n'。gets()函数允许在字符串中间包含空格。

c语言输出打印字符串数组,C语言字符串输出相关推荐

  1. java返回字符数组_JAVA语言实现随机返回字符串数组中的字符串

    本文主要向大家介绍了JAVA语言实现随机返回字符串数组中的字符串,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. //随机返回字符串数组中的字符串 public static Stri ...

  2. java随机打印一个数组元素_java 怎么随机打印自定义数组里面的字符串

    packageShiyan;importjava.util.Arrays;importjava.util.Random;publicclassasd123{publicstaticvoidmain(S ...

  3. 输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。...

    输入5个学生的名字(英文),使用冒泡排序按从大到小排序. 提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个 字符串数组就是一个二维字符数组. #include <stdio.h> ...

  4. 把字节数组转化成字符串的方法 String (byte[] bytes);String(byte[] bytes, int offset, int length);字符串数组转化成字符串

    字符串数组转化成字符串 String(char[] chars)/String(char[] chars, int offset, int length)类似于字节数组转化成字符串. String ( ...

  5. C++接收字符串数组_C语言处理字符串的7个函数

    C库提供了多个处理字符串的函数,ANSI-C把这些函数的原型放在string.h头文件中.其中最常用的函数有strlen().strcat().strcmp().strncmp().strcpy()和 ...

  6. c 字符串数组_C语言探索之旅 | 第二部分第四课:字符串

    内容简介 前言 字符类型 显示字符 字符串其实就是字符的数组 字符串的创建和初始化 从 scanf 函数取得一个字符串 操纵字符串的一些常用函数 总结 第二部分第五课预告 1. 前言 上一课 C语言探 ...

  7. c语言 字符串数组 初始化,C 字符串数组初始化问题

    1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是 ...

  8. java 传参字符串数组_JAVA语言之okhttp传递数组参数

    比较以上两种格式,发现格式不对.传给后台时,总是报参数错误的异常. 解决办法:定义一个对象继承自okhttp3.RequestBody public class DefaultRequestBody  ...

  9. c语言程序设计 周信东 数组,c语言程序设计周信东数组

    c语言程序设计周信东数组Tag内容描述: 1.第六章 数 组,数组的定义:是有序数据的集合. 数组的特点:数组中的每个元素都属于同一数据类型. 数组的访问:我们用一个统一的数组名和下标来唯一地确定数组 ...

  10. c语言向自定数组_C语言一维数组的定义和引用

    C语言一维数组的定义和引用 C语言支持一维数组和多维数组.如果一个数组的所有元素都不是数组,那么该数组称为一维数组. 一维数组的定义方式 在C语言中使用数组必须先进行定义.一维数组的定义方式为: 类型 ...

最新文章

  1. 腾讯 AI Lab 开源业内最大规模多标签图像数据集
  2. 支持本地 持久化的 单机版 consul 服务
  3. boost::contract模块实现loop的测试程序
  4. MapReduce-流量统计求和-Reducer和JobMain代码编写
  5. Python3 爬虫学习笔记 C12【验证码对抗系列 — 图形验证码】
  6. 自定义python框架_Python web 框架Sanic 学习: 自定义 Exception
  7. linux c mysql 增删改查_Linux C语言连接MySQL 增删改查操作
  8. 51Nod-1384 全排列【全排列】
  9. 为什么要有事件循环机制(Event Loop)
  10. 用 Python 创建你自己的加密货币(附源码)
  11. 2017年5月14日爱奇艺算法比赛
  12. 计算机慢怎么解决6,电脑运行速度慢怎么回事 电脑运行速度慢的解决方法
  13. 安装shipyard
  14. c语言压缩存储,数据的压缩存储与解压缩算法实现(C语言)
  15. 三大运营商5G套餐出炉:有什么区别呢?
  16. pytorch Kfold数据集划分
  17. 各国时区夏令时切换信息
  18. 全网都在求的「蚂蚁呀嘿」教程--基于PaddleGAN的First order motion model实现
  19. 网页设计期末课程大作业:基于HTML+CSS+JavaScript+Bootstrap制作响应式网站信息技术交流博客(7页)
  20. 手机android的文件怎么恢复,安卓手机怎样恢复删除的文件

热门文章

  1. MP4视频转换器怎么样将FLV转MP4
  2. WinCC7.0如何通过授权管理器用U盘进行导入和导出授权?
  3. 计算机网络技术双机互联,快速实现双机互联的几种方案
  4. 关于Eureka的自我保护模式
  5. 光荣使命微信版服务器,腾讯光荣使命手游微信可以和QQ一起玩么 微信QQ帐号数据互通么...
  6. OSS(一):OSS工具类
  7. 安卓root后查看WiFi密码
  8. UOJ #449. 【集训队作业2018】喂鸽子
  9. android 模拟下雪的效果
  10. TortoiseSVN使用简介