此算法必须按月牙顺序打印四个数字。当我启动它时,我收到一个错误:“期望的表达式”。为什么会这样?
#include <stdio.h>
int main()
{
int A,B,C,D,Riserva;
scanf("%d",&A);
scanf("%d",&B);
scanf("%d",&C);
scanf("%d",&D);
if(A>B)
else
{
Riserva=A;
A=B;
B=Riserva;
}
if(C>D)
else
{
Riserva=C;
C=D;
D=Riserva;
}
/*Fine*/
if(A>C)
else
{
Riserva=A;
A=C;
C=Riserva;
}
if(B>D)
else
{
Riserva=B;
B=D;
D=Riserva;
}
/*Fine*/
if(A>D)
else
{
Riserva=A;
A=D;
D=Riserva;
}
if(B>C)
else
{
Riserva=B;
B=C;
C=Riserva;
}
printf("\n\n%d %d %d %d",D,C,B,A);
}
最佳答案
引用C11
标准(第6.8.4.1章),if..else
语句的语法为
如果我们比较您的代码,我们将看到
这是无效的语法。您在那儿错过了一条声明。
您必须在if (condition)
部分之后放置一个语句,可以是;
或{}
(空语句)。在这种情况下,使用if...else
没有多大意义。您可以将if...else
检查减少为单个if
语句,例如
if(A<=B) //condition reversed
{
//previously else block code
}