1.3.2 scanf函数

更新于 2026年10月10日 版权声明
1.3.2 scanf函数

scanf函数的一般形式如下:

scanf("格式控制字符串",地址表列);

其中,格式控制字符串的作用与printf函数中的相同。地址表列用于给出各变量的地址。地址是由地址运算符“&”和变量名组成的。例如,“&i”和“&j”分别表示变量i和变量j的地址。

例1-15 编程实现如下要求:输入两个整数,并输出它们。

程序如下:

图示

使用scanf函数输入两个整数时,格式控制字符串使用了“%d%d”,地址表列使用的“&i”和“&j”的含义为将键盘输入的两个整型数据分别存入变量i和变量j的存储单元,也就是赋值给变量i和j。在运行时,显示屏会出现“请输入两个整数:”的提示文字,从键盘敲入两个整数时,中间可以通过空格键、回车键、Tab键分隔。

上述显示的运行结果是用空格分隔的。

只有输入的是整型数据,并且格式控制字符串之间没有分隔符时,才可以通过空格键、回车键、Tab键分隔输入的多个整数。如果格式控制字符串之间有指定分隔符时,输入数据就必须按照指定分隔符来分隔,否则会发生错误。

例1-16 下面程序的运行结果是什么?

图示(https://www.daowen.com)

图示

在例1-16中,输入两个整数5和10时,之间必须用逗号分隔。如果用空格分隔,就会出现如下错误:

图示

如果格式控制字符串是实型,则必须要使用分隔符,否则也会发生错误。

例1-17 编程实现如下要求:输入两个实数,并按实型输出这两个整数。

程序如下:

图示

输入3.15和6.2,因为scanf函数中的格式控制字符串之间没有分隔符,所以若输入数据时输入3.156.2,则无法判断到底是什么样的两个实数,因此输出了如下错误的值。

图示

因此对于实数来说,使用scanf函数输入数据时,必须在格式控制字符串中使用分隔符。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)