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语言)的更多相关文章

  1. Ubuntu下键盘输入错乱问题,输入双引号输出的是@符号,输入#号输出的是未知语言的字符

    装完搜狗后,键盘开始出现混乱,切换到英文输入法,输入双引号输出的是@符号,输入#号输出的是未知语言的字符. 网上有的说在 system - keyboard - Input Source 下看看是否是 ...

  2. C++输入和输出

    本文转载:blog.csdn.net/zhanghaotian2011/article/details/8868577博客 输入和输出并不是C++语言中的正式组成成分。C和C++本身都没有为输入和输出 ...

  3. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  4. 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出

    [源码下载] 不可或缺 Windows Native (4) - C 语言: 预处理命令,输入,输出 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 预处理命令 输入 ...

  5. C语言的本质(23)——C标准库之输入与输出(上)

    1..文件的基本概念 所谓"文件"是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库 ...

  6. C语言程序设计--输入与输出

    C语言的输入 所有的输入都是依赖于C语言函数进行的,这个函数是C语言标准库自带的,定义在头文件<stdio.h>里面,所以,要想使用与输入相关的函数,都需要包含这个头文件 #include ...

  7. C语言中字符数据的输入和输出

    字符的输出 C语言中使用putchar函数来输出字符数据 #include <stdio.h> int main() { char a,b,c,d; //定义字符变量a,b,c,d a = ...

  8. Problem X: C语言习题 学生成绩输入和输出

    Problem X: C语言习题 学生成绩输入和输出 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4722  Solved: 2284[Submit] ...

  9. YTU 2429: C语言习题 学生成绩输入和输出

    2429: C语言习题 学生成绩输入和输出 时间限制: 1 Sec  内存限制: 128 MB 提交: 1897  解决: 812 题目描述 编写一个函数print,打印一个学生的成绩数组,该数组中有 ...

随机推荐

  1. Lazarus -Pascal常量

    2.常量 2.1.普通常量 仅仅下面类型可以被定义为常量Ordinal类型Set类型指针类型 (but the only allowed value is Nil). real类型 Char, Str ...

  2. 【转】Problems with HTTPS, HttpWebRequest, and iOS?

    We're using HttpWebRequest to hit HTTPS urls, on iOS. In Debug, local builds, etc. everything works ...

  3. $_SERVER存储

    $_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_SERVER["SCRIPT_NAME&qu ...

  4. (转)js的call和apply

    1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call ...

  5. ava.lang.NullPointerException的一般解决方法

    抛出异常后,一般会输出异常信息,, 从上往下找 ,第一次出现与"自己的代码"有关的部分,就是异常抛出的最近点,异常就是在那里开始的 然后再顺藤摸瓜 找问题去吧

  6. //四舍五入//得到倒序//比较字符串//拦截时间,实现超时锁屏//判断是否越狱//配置PodFile//Storyboard中跳转操作//处理不可逆的push界面操作

    //处理不可逆的push界面操作 VerifyRealNameViewController *verifyRealNameCtrl = [VerifyRealNameViewController vi ...

  7. css模仿表格 居中

    <div class="service_box"><div class="service_list"> <span class=& ...

  8. Magento SSH 下载安装

    http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/installing_magento_via_shell_ ...

  9. APICloud上有关iOS证书的一些问题

    1. 苹果开发者账号及其区别: 苹果的开发者账号分为个人.公司和企业三类. 个人是99$一年,只能个人使用,可以提交应用到AppStore: 公司的也是99$,但是可以邀请其它成员一起使用,可以提交应 ...

  10. Ubuntu中Apache修改DocumentRoot(修改网站根目录)

    今天配置好Apache+PHP+MySQL但是apache默认DocumentRoot是/var/www想把它改到我Windows下进行测试的k:/wwwroot把 apache2.conf 翻了好几 ...