关于scanf函数

来源:互联网 发布:淘宝维修售处理时间 编辑:程序博客网 时间:2024/05/31 15:18

关于scanf函数

scanf函数是编程中最长使用的函数之一了,掌握scnaf函数的使用是学好编程的基础。

首先是scanf函数的返回值问题:

如果scanf函数返回的是执行一次读取,匹配成功的个数。

如:scanf(“%d%d%d”,&a, &b, &c)如果输入1, 2, 3,返回值为3,如果输入1  2  b  4读取到b后就结束了,返回值为2; 如果输入a, b, c,返回值为0。

如果读取失败,即在执行scanf函数时已经读取完所有值,那么执行scanf时会返回-1。

注意在循环执行scanf时即使读取完所有输入,scanf函数还会执行。

         如:i = 0;

while(scanf("%d", &a[i++]) != -1);  在读取完最后一个数后,虽然此时已经没有可以读取的数据了,但scanf仍执行,因此最后i的值为读入的数据个数+1。

其次是scanf函数读取情况:

1:  scanf("%s",)与gets():

scanf("%s", )用来读取一个字符串,如果遇到空格或回车换行会停止读入,所以scanf("%s", )适合读取单词;gets()用来读入一整行的字符串,遇到空格不停止,即空格也算是字符串的一个字符。

2:scanf("%c",)与getchar()

scanf与getchar都是可以读取单个字符,对于空格和回车都不过滤。

0 0