首页 > 编程语言 > 详细

c语言:用scanf函数输入数据,举例并分析错误原因

时间:2016-02-01 09:59:15      阅读:208      评论:0      收藏:0      [点我收藏+]

用scanf函数输入数据,举例并分析错误原因

用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a。问在键盘上如何输入。

程序:

#include<stdio.h>

int main()

{

int a, b;

float x, y;

char c1, c2;

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

scanf("%f %e",&x,&y);

scanf("%c%c", &c1, &c2);

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1, c2);

return 0;

}

输入方式一及结果分析:

a=3 b=7

8.5 71.82Aa

a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a

请按任意键继续. . .

在输入8.5和71.82两个实数给x和y后,应紧接着输入字符A,中间不要有空格,由于字母A不是数字,系统在遇到字母A时,就确定输入给y的值已经结束,字符A就送到下一个scanf语句中的字符变量c1。

输入方式二及结果分析:

a=3 b=7

8.5 71.82 Aa

a=3,b=7,x=8.500000,y=71.820000,c1= ,c2=A

请按任意键继续. . .

在输入8.5和71.82两个实数后,输入的空格符就被c1读入,c2读入了字符A,故输出c1时就输出空格,输出c2的值为A。

输入方式三及结果分析:

a=3 b=7

8.5 71.82

Aa

a=3,b=7,x=8.500000,y=71.820000,c1=

,c2=A

请按任意键继续. . .

在输入8.5和71.82两个实数后,按回车键再输入Aa,这时“回车”被作为一个字符送到内存输入缓冲区,被c1读入,字符A被c2读取,故在输出c1时,就输出一个换行,在下一行输出逗号和c2的值A。


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1740239

c语言:用scanf函数输入数据,举例并分析错误原因

原文:http://yaoyaolx.blog.51cto.com/10732111/1740239

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!