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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

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

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

程序:

#include<stdio.h>

int main()

{

扫描二维码关注公众号,回复: 4088136 查看本文章

 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

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_43667626/article/details/84102523
今日推荐