puts/gets 和 scanf/printf 用法上的区别

8 篇文章 0 订阅

puts/gets 和 scanf/printf 用法上的区别

kinly_jiang
推荐于2018-02-27

printf()函数

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原
样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符,
用来确定输出内容格式。

scanf()函数

scanf()函数是格式化输入函数, 它从标准输入设备(键盘) 读取输入的信息。其调用格式为:
scanf("<格式化字符串>", <地址表>);
格式化字符串包括以下三类不同的字符;

  1. 格式化说明符: 格式化说明符与printf()函数中的格式说明符基本相同。
  2. 空白字符: 空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。
  3. 非空白字符: 一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。
    地址表是需要读入的所有变量的地址, 而不是变量本身。这与printf()函数完全不同, 要特别注意。各个变量的地址之间同","分开。

puts()函数

puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为:
puts(s); 其中s为字符串变量(字符串数组名或字符串指针)。
puts()函数的作用与语printf("%s\n", s)相同。

gets()函数

gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s)函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符串直到回车为止。

printf scanf是格式化输入输出函数:更清晰标准

puts gets是非格式化输入输出函数 :编译后代码少, 相对占用内存也小, 从而提高了速度, 同时使用也比较方便。下面分别进行介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值