正在加载图片...
必说明: ●用“%C”格式符时,空格和转义字符作为有 效字符输入 如 scanf("%c7c%c&cl,&c2,&c3): 若输入abcJ 则a→ci,→c2,b=→c3 ◆遇非法输》 如 scanfo 例intx; 例例 char ch; int x; scanf(%d”,&x; char ch, scanf(%c”,&ch) (2 scanfd 3) 或scanf(%*c%c”,&ch): scani(-%c printf“x=g 00,1-70011,V1万 执执行: 123J :x=123,cl0 Ch3 00l.c Cn3002.c❖说明: ⚫用“%c”格式符时,空格和转义字符作为有 效字符输入 如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入a b c 则ac1, c2, b c3 ⚫输入数据时,遇以下情况认为该数据结束: ◆遇空格、TAB、或回车 ◆遇宽度结束 ◆遇非法输入 如 scanf(“%d%c%f”,&a,&b,&c); 若输入1234a123o.26  则 1234 a, ‘a’ b, 123 c ⚫输入函数留下的“垃圾”: 例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%d\n”,x,ch); 执行:123 输出:x=123,ch=10 例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%d\n”,x,ch); 执行:123 输出:x=123,ch=10 解决方法: (1)用getchar()清除 (2)用函数fflush(stdin)清除全部剩余内容 (3) 用格式串中空格或“%*c”来“吃掉” 例 int x; char ch; scanf(“%d”,&x); scanf(“ %c”,&ch); 或 scanf(“%*c%c”,&ch);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有