输入和输出的总结(c语言)
c语言中有多种的输入和输出方式,下面就简单总结一下:
一.输入的三种方式
(1)scanf
scanf 函数可以在变量中使用,也可以在数组中使用,当然指针上也能用到,是一个很好的输入函数.scanf是一个格式输入,比如scanf("%d-%d-%d",&i,&j,&z),在控制台上输入的时候,应该以双引号的格式输入即2015-3-19的格式输入,否则会出错!
scanf的缺点:
在字符串输入的时候,不能有空格.遇到空格会自动结束输入;
另外,如果用户输入的字符串长度大于数组长度时,没有空间存'\0'这个结束符!
还有一个缺点就是,scanf属于不安全类型的输入法.
(2)gets函数输入法
使用的例子:
char arr[10];
gets(arr);
printf("%s",arr);
优点:字符串输入的时候,可以有空格;
缺点:不安全,如果输入的字符串的长度大于了数组的长度,会溢出
(3)fgets()函数输入法
fgets()函数的使用:fgets(字符数组名,数组长度,stdin) ,其中,stdin是指标准的输入
例子:int arr[10];
fgets(arr,10,stdin);
fgets()的优点:如果输入的字符串长度大于可字符数组的长度,此时,fgets会自动截断
注意事项:fgets只能保存的长度为数组长度减一个字符,因为他要用一个字符长度来存放'\n';
当输入的内容小于数组长度的时候,多接收了一个换行字符(要检验它多接收了一个换行的标志,用输入ASCII码的数字形式输出 即%d,'\n'在ASCII的十进制数为10);其解决办法把'\n'替换成'\0'
如下:
(if(s[stlen[s]-1])=='\n') { s[strlen[s]-1='\0';}
二.输入的三种函数
(1)printf()函数
printf是格式化输出,例如printf("%d,%d,%d",i,j,k)在控制台上的输出格式为 2015,3,19(因为上引号中用括号隔开,所以控制台也用逗号隔开;如果换成空格隔开,控制台上显示的也是用空格隔开),简而言之,printf的格式是怎么样的,显示出来的格式就是什么样的!
缺点:printf不能自动换行
(2)puts()函数输出
puts函数克服了printf不能自动换行的缺点,可以自动换成;但是却不可以像printf那种可以格式化输出.
使用格式为:puts(数组名);
(3)fputs()函数输出
fputs()可以输出一个字符串到文件中,格式如下:
fputs(数组名,stdout),其中,stdout 标准的输出
例子:fgets(s , stdout)
缺点:fputs不能自动换行
输入和输出的总结(c语言)的更多相关文章
- Ubuntu下键盘输入错乱问题,输入双引号输出的是@符号,输入#号输出的是未知语言的字符
装完搜狗后,键盘开始出现混乱,切换到英文输入法,输入双引号输出的是@符号,输入#号输出的是未知语言的字符. 网上有的说在 system - keyboard - Input Source 下看看是否是 ...
- C++输入和输出
本文转载:blog.csdn.net/zhanghaotian2011/article/details/8868577博客 输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出 ...
- C#语言基础— 输入与输出
C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...
- 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出
[源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...
- C语言的本质(23)——C标准库之输入与输出(上)
1..文件的基本概念 所谓"文件"是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库 ...
- C语言程序设计--输入与输出
C语言的输入 所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输入相关的函数,都需要包含这个头文件 #include ...
- C语言中字符数据的输入和输出
字符的输出 C语言中使用putchar函数来输出字符数据 #include <stdio.h> int main() { char a,b,c,d; //定义字符变量a,b,c,d a = ...
- Problem X: C语言习题 学生成绩输入和输出
Problem X: C语言习题 学生成绩输入和输出 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4722 Solved: 2284[Submit] ...
- YTU 2429: C语言习题 学生成绩输入和输出
2429: C语言习题 学生成绩输入和输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 1897 解决: 812 题目描述 编写一个函数print,打印一个学生的成绩数组,该数组中有 ...
随机推荐
- 【Demo】 生成二维码 和 条形码
条形码 和 二维码 对比 一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准. 在水平和垂直方向的二维空间存储信息的条形码, 称为 ...
- 基于ace后台管理系统模板--CMS(Thinkphp框架)的筹划
临近春节,准备自己做一个关于宠物的cms网站,特写下此博客提醒自己,尽量争取在过年前做好.废号少说,先梳理下接下来准备使用的工具.. 由于最近在学习thinkphp,所以打算用这个框架来作为主体,可能 ...
- spring简单事务管理器
事务管理器 <!-- Transaction manager for a single JDBC DataSource --> <bean id="transaction ...
- Bootstrap 图标菜单按钮组件
---恢复内容开始--- 一.小图标组件 Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件 链接:http://v3.bootcss.com/componen ...
- php--linux环境下的主从复制
1.编辑数据库配置文件my.cnf,一般在/etc/目录下. #vi /etc/my.cnf 在[mysqld]的下面加入下面代码:[第一步查看本文件夹中代码是否已经存在,存在不需要进行添加] 只是修 ...
- CSS布局属性
一.弹性盒模型介绍 1.弹性盒模型介绍 — 基础知识 弹性盒模型( Flexible Box 或 Flexbox)是一个CSS3新增布局模块,官方称为CSS Flexible Box Layout M ...
- Javascript对象、Jquery扩展简单应用
Javascript对象,表现方式一: person = new Object(); person.firstname = "An"; person.lastname = &quo ...
- ESXI
ESXI设置时间 esxi设置时间命令:Usage: esxcli system time set [cmd options] Description: set ...
- Android图片压缩方法总结
本文总结Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法.比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩). 第一:质量压缩方法: ? 1 2 3 ...
- 点云匹配和ICP算法概述
Iterative Closest Point (ICP) [1][2][3] is an algorithm employed to minimize the difference between ...