在下列程序中,欲使a的值为15,b

验证性实验

在下列程序中,欲使a的值为15,b的值为25,x的值为5.55,y的值为2.6,c1的值为 ’M ’,c2的值为’N’,在键盘上应如何输入这些数据?

 #include <stdio.h>

 void main()

 {int a,b;

  float x,y;

  char c1,c2;

  scanf(“%d%c%f\n”,&a,&c1,&x);

  scanf(“b=%d,y=%f,c2=%c”,&b,&y,&c2);

  printf(“a=%10d,b=%-10d\n”,a,b);

  printf(“x=%f,y=%f\n”,x,y);

  printf(“c1=%c,c2=%c\n”,c1,c2);

}

提示输入格式为:

                 15M5.55↙

                 b=25,y=2.6,c2=N↙

思考一下,在scanf(“%d%c%f”,&a,&c1,&x);的输入中为什么空格不能作为数据输入的间隔符?

 

 

 

 

由于程序主函数结尾缺少”getch();”导致最后的执行结果一闪而过加上后执行结果为
15M5.55
b=25,y=2.6,c2=N
a= 15,b=25
x=5.550000,y=2.600000
c1=M,c2=N
在scanf(“%d%c%f”,&a,&c1,&x);的输入中,由于输入字符型数据时空格会作为有效输入字符处理,所以空格不能作为数据输入的分隔符,在输入a的值后,接下来输入的应是一个字符型,若之间用空格则此空格将被视为一个字符,但若是先输字符再输一个数,其间就可以用空格。

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容