例1
#include <stdio.h>
main()
{int i;int b;
scanf("%d",&i);
getchar();
}
为什么只输入一个数字或字母都会退出?
例2
#include <stdio.h>
main()
{int i;int b;
scanf("%d",&i);
scanf("%d",&b);
}
为什么输入一个数字不会退出,输入一个字母会退出?
例3
#include <stdio.h>
main()
{int i;int b;
scanf("%d",&i);
getch();
}
为什么输入一个数字或者字母都不会退出?
例1
/* 输入数字和字母实际上都是输入两个字符,你输入的数字getchar()读取下面的回车.
如果是字母getchar()读取你输入的字母,你可以试一试.*/
例2
/* 在输入一个数字的时候,第一个scanf函数读取第一个数字,第二个scanf函数等待输入(scanf函数会跳过空格操作符,包括回车,空格等),所以 不能退出。在输入一个字母的时候,第一个不能匹配,并不能把第一个字母从输入流中去掉,所以第二个scanf函数仍然读取到一个字母而失去匹配,从而退出 函数,所以,不管有多少个int类型的scanf函数都会在输入一个字母的情况下退出
例3
/*getch()这个函数是按任意键退出,前面你不管输入多少,到这里也得输入就是这样*/
再来看看百度百科上的解释SCANF
1.scanf函数的一般形式
scanf(格式控制,地址表列)
int scanf(char *format[,argument,...]);
“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址。
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。
例题 scanf函数输入数据。
#include<stdio.h>
void main(){
int a,b,c;
printf("input a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
格式字符 说明
%a 读入一个浮点值(仅C99有效)
%A 同上
%c 读入一个字符
%d 读入十进制整数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x 读入十六进制整数
%X 同上
%c 读入一个字符
%s 读入一个字符串
%f 读入一个浮点数
%F 同上
%e 同上
%E 同上
%g 同上
%G 同上
%p 读入一个指针
%u 读入一个无符号十进制整数
%n 至此已读入值的等价字符数
%[] 扫描字符集合
分享到:
相关推荐
摘 要:本文从scanf 函数使用的多个方面(格式字符及其附加格式说明字符、输入数据的格式、格式说明的分隔符、输入项的使用、格式说明与输入项的对应)介绍scanf函数使用的方法及其注意事项,以使读者正确、有效地...
文档中详细解析了C语言中scanf的详细用法,在程序设计中需要需要注意的地方,另外还列举了一些经典了错误使用scanf的例子。
C语言教学中scanf函数用法研究.pdf
浅析C语言中scanf()函数的用法
浅析C语言中scanf()函数的用法.pdf
在C语言教学中,我们发现使用TC中scanf()函数时,当输入项为float型二维数组元素,同时其下标为变量时,往往程序不能正常运行。通过实例分析了产生这种问题的原因,提出了解决方法。 1 scanf()函数输入float型数组遇到的...
他们的使用方法及注意事项如下: 1.scanf() 它是一种格式化的输入方式,可一次性按照规定的格式输入多个数据域。 scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。与printf函数相同,C语言也允许在...
中山大学牛人总结的scanf函数的技巧,看了之后对scanf函数理解会更加深刻。
scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”,地址表列); 其中,...
Printf,Scanf,getchar,Putchar
C语言中有很多零碎知识点,所以为了方便大家学习了解,做了一次汇总,让你瞬间明白scanf();函数的入门和高级用法,绝对干货中的干货汇总!
输入输出函数(printf 和 scanf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf),所以这两个函数必须要掌握。 如果在...
那么下面我就对scanf()中清除输入缓冲区的方法讲解: 应用场景:我们使用多个scanf()的时候,如果输入缓冲区还有数据的话,那么scanf()就不会询问用户输入,而是直接就将输入缓冲区的内容拿出来用了,这就导致了前面的错误...
3.4 C语言格式化输入函数scanf实例详解 17 4.1 C语言赋值运算符实例讲解 19 4.2 C语言算数运算符实例讲解 21 4.3 C语言sizeof运算符 23 4.4 C语言逻辑运算符实例讲解 23 4.5 C语言?:条件运算符实例讲解 24 4.6 C语言...
每种语言都对正则表达式有着不同程度的支持,在C语言中,有输入功能的这三个函数对正则表达式的支持并不强大,但是我们还是有必要了解一下。 首先来看看他们的原型: #include int scanf(const char *format, ...)...
c语言中各种输入函数应该注意的地方,c语言中的scanf、getchar,gets、getche、getch。等函数的用法和区别。
3.5.4 字符数据在内存中的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术...
这个函数的基本用法这里就不说了,这里介绍一些这个函数使用中常见的问题及解决方法: 第一,连续输入两个或多个字符的时候,第二次输入直接跳过了如: int main() { char a,b; scanf(“%c”...
在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回。如果要读取一行字符串,比如: I love BIT 这种情况,scanf()就无能为力了。这时我们最先想到...