首页 理论教育 如何正确使用函数scanf(),输入姓名、性别、学号和成绩

如何正确使用函数scanf(),输入姓名、性别、学号和成绩

时间:2023-11-16 理论教育 版权反馈
【摘要】:函数scanf()的功能很丰富,输入格式也是多种多样,这是大家较为熟悉的知识,这里不做详细介绍,在使用中需要注意以下几个问题。在本程序中把字符串、字符、数值型变量分别写入不同的scanf()语句,输入数据的具体形式如下:请输入姓名:ZhangHua请输入性别:v请输入学号和成绩:101 90.5如果姓名输入成“Zhang Hua”,会出现什么现象?因此,应该充分重视数据的输入技术。

如何正确使用函数scanf(),输入姓名、性别、学号和成绩

C语言的输入是由系统提供的scanf()等函数实现,在程序的首部一般要求写入:

# include <stdio.h>

因为标准输入/输出函数都存在于头文件 stdio.h 之中,需将其包含进来方可使用。函数scanf()的功能很丰富,输入格式也是多种多样,这是大家较为熟悉的知识,这里不做详细介绍,在使用中需要注意以下几个问题。

(1)如果一条scanf()语句有多个变量并且都是数值型(如int,float,double)时,在输入数据时应该在一行之内键入多个数据,数据之间使用空格分隔。例如:

正确的输入应是:整数 空格 实数 回车。

如果语句中在%d 和%f 之间有一个逗号:

scanf ("%d ,%f " ,&n,&x);

正确的输入应是:整数 逗号 实数 回车。

(2)在需要输入字符型变量或字符串时,要单独写一条输入语句,这样不易出错。

在同一条scanf()语句中将字符型变量和数值型变量混合输入常常会出错,因为键盘输入时在数值型数据之间的“空格”起“分隔符”作用,但是在字符或字符串之间的“空格”会被当作一个字符,而不能起到“分隔符”的作用,所以将它们混在一起容易出错。(www.xing528.com)

(3)在scanf()语句中变量写法应该是该变量的地址

例如:

为了方便说明问题程序中加了行号,运行时当然不允许有行号。一般情况下,在scanf()语句中的变量名之前要加上取地址符&,上述程序第6行和第7行之中就是这样。为什么第5行的name前面不加&呢?因为name代表字符串,即是一维字符数组,一维数组名本身就是一个地址,是该数组的首地址,所以name前面不加&。

在本程序中把字符串、字符、数值型变量分别写入不同的scanf()语句,输入数据的具体形式如下:

请输入姓名:ZhangHua

请输入性别:v

请输入学号和成绩:101 90.5

如果姓名输入成“Zhang Hua”,会出现什么现象?那样只会读入Zhang做姓名,而Hua被忽略,还会影响后面的输入语句导致其无法正确读入数据。

因此,应该充分重视数据的输入技术。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈