我正在尝试这个基本代码块来熟悉条件。我不认为我错过了一个括号或任何东西,但是我得到一个错误,我在第二个else子句之前错过了一个声明,但我不明白这一点。
#include stdio.h;
main()
{
int a = 2;
int b = 4;
int c = 6;
int d = 8;
if ( a > b )
{
a = a - 1;
printf("a = %d ", a);
}
else
{
if ( b >= c )
{
b == b ? : 2;
}
printf("b = %d ", b);
}
else
{
if ( c > d)
{
c = c + d;
}
}
else
{
d = d / 2;
}
}
有什么建议吗?
答案 0 :(得分:3)
如果您正确缩进代码,您将看到问题:
} else {
if ( c > d) {
c = c + d;
}
} else {
d = d / 2;
}
答案 1 :(得分:1)
此代码与您的代码相同,以其他几种正统风格缩进。
int main(void)
{
int a = 2;
int b = 4;
int c = 6;
int d = 8;
if (a > b)
{
a = a - 1;
printf("a = %d ", a);
}
else
{
if (b >= c)
{
b == b ? : 2; // Syntax errors here too (and statement with no effect?)
}
printf("b = %d ", b);
}
else
{
if (c > d)
{
c = c + d;
}
}
else
{
d = d / 2;
}
}
正如您所看到的,有3个连续的else
条款,只允许使用一个。
还有其他语法问题。
答案 2 :(得分:1)
C的结构只能有一个if语句的else语句。相反,它可能有几个elseif语句。为if语句添加更多else语句将报告其语法错误。
程序中的错误表明第二个必须在它之前有一个if。 因此,将所有中间else语句与嵌套if转换为elseif语句。保留最后的else语句,你可以摆脱那个错误。
答案 3 :(得分:0)
在C编程中 if .. else ..就像这样
if( condition 1 )
statement1;
else if( condition 2 )
statement2;
else if( condition 3 )
statement3;
else
statement4;