• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

输入和输出的总结(c语言)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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不能自动换行


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#枚举的类型发布时间:2022-07-13
下一篇:
为什么Objective-C很难发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap