C语言中scanf的用法错误会怎么样?具体原理有人解释下吗?
#include<stdio.h>#include<math.h>//输入三个整数,然后按照从小到大排列intmain(void){intx;inty;intz;inta...
#include <stdio.h>
#include <math.h>
//输入三个整数,然后按照从小到大排列
int main(void)
{
int x;
int y;
int z;
int a;
int b;
int max;
int min;
int mid;
printf("Please input three different integer:\n");
scanf("%d%d%d",&x,&y,&z);
if ((x==y)||(x==z)||(y==z))
{
printf("ERROR!\n");
}
else
{
a=x>y?x:y;
b=x<y?x:y;
max=a>z?a:z;
mid=a<z?a:z;
min=b<z?b:z;
printf("%d %d %d\n",max,mid,min);
}
return 0;
}
程序没有错,我运行时,输入三个数都带了逗号的话,就一直执行ERRO!那句话,求解为什么。
打错了,是从大到小排列。另外我知道不能加逗号,如果加了逗号,那么程序存储是怎么进行的、 展开
#include <math.h>
//输入三个整数,然后按照从小到大排列
int main(void)
{
int x;
int y;
int z;
int a;
int b;
int max;
int min;
int mid;
printf("Please input three different integer:\n");
scanf("%d%d%d",&x,&y,&z);
if ((x==y)||(x==z)||(y==z))
{
printf("ERROR!\n");
}
else
{
a=x>y?x:y;
b=x<y?x:y;
max=a>z?a:z;
mid=a<z?a:z;
min=b<z?b:z;
printf("%d %d %d\n",max,mid,min);
}
return 0;
}
程序没有错,我运行时,输入三个数都带了逗号的话,就一直执行ERRO!那句话,求解为什么。
打错了,是从大到小排列。另外我知道不能加逗号,如果加了逗号,那么程序存储是怎么进行的、 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询