语言的输入

编程语言提供最基本的输入输出,输入一个预期的数据也不是看起来那么简单,如下一一展开。

不同输入形式

  • C语言scanf提供格式串输入,程序员负责配置正确的格式,比如%d整型,%s为字符串。可能出现格式串和变量格式、个数不完全匹配,输入的数据异常、错位。但,因为参数是值传递,变量必须取地址传入,才能正确更新。

  • C++引入了cin标准输入流对象,使用>>运算符和变量即可,注意变量不用取地址,利用了引用概念,代码舒适度较高。

  • Java需要额外创建Scanner对象,显得麻烦。

  • Python提供input函数输入,本身属于解释型语言,输入的变量可以被转换成符合要求的任何格式。

  • 其他脚本语言用法一般都比较简单,比如read或input即可输入。

带额外字符的输入

额外字符有分隔作用,对于输入反而会产生误解。

  • C语言scanf(“%d,%d”, &a, &b)需要输入”,”才能正常解析。就像去银行办业务申请表单有自己的格式,符合格式才能办成功。

  • C#没有C语言简洁,需要用Split方法截断:Console.ReadLine().Split(',').

输入不成功

  • C语言格式和输入数据不匹配,属于错误,当前变量的数值不确定,输入缓冲区数据被保留给下一个格式数据。

  • 不同输入函数共享输入缓冲区,如果前面函数输入不成功,缓冲区数据会保留给下一个输入函数,例如C语言scanf和getchar,如scanf执行后还剩下字符未处理,接下来getchar函数会继续用到前面的字符。

输入的忽略字符

  • scanf默认会忽略任何空白字符(换行、空格、制表符),哪怕是%c格式输入一个字符。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值