验证性实验
在下列程序中,欲使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的值后,接下来输入的应是一个字符型,若之间用空格则此空格将被视为一个字符,但若是先输字符再输一个数,其间就可以用空格。
暂无评论内容