您的位置:首页 > 编程语言 > C语言/C++

scanf()的使用

2016-06-18 21:36 344 查看
《C Primer Plus》

1、scanf()函数返回成功读入的项目的个数。

num = scanf ("%d %d %d", &a, &b, &c);


运行结果:

输入 1 2 3 之后,num=3

输入1 2 a  之后,num=2

2、当scanf()未能读取指定形式的输入时,它就留下这个不相容的输入,以供下次进行读取。

// trouble.c -- misuse of =
// will cause infinite loop
#include <stdio.h>
int main(void)
{
long num;
long sum = 0L;
int status;

printf("Please enter an integer to be summed ");
printf("(q to quit): ");
status = scanf("%ld", &num);
while (status = 1)
{
sum = sum + num;
printf("Please enter next integer (q to quit): ");
status = scanf("%ld", &num);
}
printf("Those integers sum to %ld.\n", sum);

return 0;
}


运行结果如下:
Please enter an integer to be summed (q to quit): 20
Please enter next integer (q to quit): 5
Please enter next integer (q to quit): 30
Please enter next integer (q to quit): q
Please enter next integer (q to quit):
Please enter next integer (q to quit):
Please enter next integer (q to quit):
Please enter next integer (q to quit):


请注意:输入q之后,再也无法进行更多的输入。

因为当scanf()试着把q作为整数读取并且失败时,它就把q留在了那里。在下次循环中会继续读取留下来的这个q,可是scanf()会再次失败。所以,后面只会无限地显示Please enter next integer (q to quit):
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 scanf 函数