If-else语句c程序中的多个条件

If-else语句c程序中的多个条件,c,C,我的程序基本上是根据用户输入的边的长度来确定三角形的类型。 我的代码收到了这个错误消息,测试它是否是一个不等边三角形 期望“;”在“{”之前 否则((右!=左)| |(右!=下)| |(左!=下){ 代码: 错误是在最后一个条件后面加一个;,这对我来说没有意义。我试着这样做是为了测试它,但它给出了错误的答案。我假设这应该是一个if…else,在这种情况下,你需要在else后面加一个if else if ((right != left) || (right != bottom) || (left

我的程序基本上是根据用户输入的边的长度来确定三角形的类型。
我的代码收到了这个错误消息,测试它是否是一个不等边三角形

期望“;”在“{”之前 否则((右!=左)| |(右!=下)| |(左!=下){

代码:


错误是在最后一个条件后面加一个;,这对我来说没有意义。我试着这样做是为了测试它,但它给出了错误的答案。

我假设这应该是一个
if…else
,在这种情况下,你需要在
else
后面加一个
if

else if ((right != left) || (right != bottom) || (left != bottom))
{
    printf("This is a scalene triangle");
}

针对OP的评论

从我阅读的笔记中,格式是else if just being else的最后一个语句,因此我为什么不使用else if而只使用else

注释在某种程度上是正确的,因为最后一条语句可以是
else
语句(如果有
else
语句,则必须是最后一条语句,并且只能有一条)

所以以下是有效的

if (a == 1) {
   // Do this
} else {
   // Do that
}
但以下是无效的

if (a == 1) {
   // Do this
} else {
   // Do that
} else {
   // Do other
}
else if
允许您在多个块上继续逻辑处理…如果需要,可以使用
else
块完成逻辑处理

if (a == 1) {
   // Do this
} else if (b == 1) {
   // Do that
} else {
   // Do other
}
或者不

if (a == 1) {
   // Do this
} else if (b == 1) {
   // Do that
} else if (c == 1) {
   // Do other
}

else
不能有条件语句,如果需要包括条件检查,则应为
else

必须按以下方式进行更改

else if ((right != left) || (right != bottom) || (left != bottom)){
                printf("This is a scalene triangle");
            }  

你的意思是把
else if
而不是仅仅把
else
放进去吗?你能把你的代码放大一点吗?(大部分是以前的代码)我理解这个问题,它已经解决了,你还想看到我的代码的更大部分吗?谢谢。从我阅读的笔记中,格式是else if just be else的最后一个语句,因此为什么我没有使用else if,而只是使用了else。我更改了它,它工作了听起来好像笔记是正确的…最后一个可以be只是
else
,但是
else if
允许您拥有多个基于条件的块,因此您可以拥有
if…else if…else if…else
@David1083-我希望我的编辑能让您更清楚一点。请不要忘记标记您发现最有用的答案,以便其他人知道您的问题已经解决(此外,您还可以在网站上获得一些有用的声誉)
else if ((right != left) || (right != bottom) || (left != bottom)){
                printf("This is a scalene triangle");
            }