空格行为"/>
C语言中scanf吃空格行为
#include "stdio.h"
void main()
{ int a,b,c,max;printf("请输入三个数:");scanf("%d %d %d ",&a,&b, &c);if (a>b)max=a;elsemax=b;if(c>max)printf("该三个数最大的为:%d\n",c); elseprintf("该三个数最大的为:%d\n",max);
}
执行结果:
Scanf(格式控制,地址表列);当scanf()中输入%d后面加空格时在执行过程中必须要多输入一个或则若干个非空字符结束标志。故上述代码在运行中需要多输入一个非空字符作为结束标志,但该字符不会作为运算符参与程序。
修改为:
void main()
{
int a,b,c,max;
printf("请输入三个数:");
scanf("%d %d %d",&a,&b, &c);
if (a>b)
max=a;
else
max=b;
if(c>max)
printf("该三个数最大的为:%d\n",c);
else
printf("该三个数最大的为:%d\n",max);
}
执行结果:
去掉scanf中最后一个%d后面的空格运行即正常。
更多推荐
C语言中scanf吃空格行为
发布评论