August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
输入操作>>(“get from”)是对类型敏感的,它读取的值与变量类型需要一致。例如:
因此,如果你输入Carlos22,>>操作符将Carlos读入first_name,将22读入age,并且生成以下输出:
为什么它不将Carlos22(全部)读入first_name?这是由于按照规定,读取字符串会被空白符所终止,包括空格、换行和tab字符。除此以外,空格在缺省情况下会被>>忽略。例如,你可以在读取的数字之前添加任意多的空格;>>将会跳过它们并读取这个数字。
如果你输入22Carlos,你将看到感到奇怪的东西,直到你能够理解这一切。22将会读入first_name,这是由于22毕竟是一串字符。另一方面,Carlos并不不是一个整数,因此它不会被读取。这时的输出将是22和(age再加上某个随机数,例如-96739或0。为什么?你没有给age赋一个初始值,并且你没能成功地读入一个值存入它。因此,当你开始执行时,就会得到内存中的某个部分的“垃圾值”。在10.6节中,我们讨论“输入格式错误”的处理方式。现在,我们只是初始化age,这样在输入错误时,我们会获得一个可预测的值: ...