否则,如果条件没有正确执行

时间:2016-11-06 21:57:17

标签: c

我正在尝试建立一个小型的c程序,询问性别和用户的年龄。所以,如果性别如果' F'和年龄> 18,消息将是"女人"显示"年轻女孩"同样适用于性别" M"。 但根据我的代码,只有两个第一个条件正确执行然后来到"否则如果"条件消息错误

以下是我写的代码。

代码:

#include <stdio.h>
#include <string.h>

char sexe;
int age;

int main()
{
    if(age>=18)
    {
        printf("\n Woman");
    }
    else
    {
        printf("\n young girl");
    }

    return 0;
}
else if(sexe='M');
{
    if(age>50)
    {
        printf("\n Old man");
    }
    else
    {
        printf("\n Young man");
    }

}
return 0;

}
}

2 个答案:

答案 0 :(得分:1)

您正在关闭#include <stdio.h> #include <string.h> char sexe; int age; int main() { if (sexe == 'F') { if(age>=18) { printf("\n Woman"); } else { printf("\n young girl"); } } else if(sexe=='M') // it is a mistake to put ; here that would mean empty statement { if(age>50) { printf("\n Old man"); } else { printf("\n Young man"); } } return 0; } 之前的主要功能。否则,如果不是任何函数的一部分,则此代码甚至不应编译。

你需要做的是这样的事情:

else if (sexe=='M');

所以你犯的错误是:

1){}表示代码块。您必须非常准确地何时打开一个以及何时关闭一个。

2); 这意味着如果性别是M,则什么都不做。 if (sexe == 'F')是一个空的陈述,它意味着什么都不做。

3)if (sexe = 'F')==

非常不同

=意味着平等。左侧的东西是否等于右侧的东西 if (sexe = 'F')表示分配。让右边的东西和右边的东西一样。

因此,如果你写null,那就意味着将性别变为'F'然后 看看性别是否真实。 Truthy值意味着被认为是真实的表达,我不记得C中的确实是什么。我认为它是0#include <list> using namespace std; class Adressbuch { public: list<int> Adressbuch::adress_buch; }; int main() { Adressbuch buch; buch.adress_buch.size(); return 0; } 以及空字符串。

答案 1 :(得分:0)

你的其他如果没有正确执行,因为你没有创建if语句if(sexe =='F'),因此你的else if语句没有任何替代。此外,你在else之前返回零if(sexe ='M'),这将结束函数,因为你在int main()内,这将结束程序。你也在使用错误的运算符if(sexe) ='M'),你应该在if语句中使用双等号'=='运算符。要解决你的问题,添加if(sexe =='F'),摆脱你的第一个返回零并改变运算符if(sexe ='M')我希望这有帮助!

最后一件事,你使用IDE吗?我不这么认为,因为如果你使用的话,它会在if(sexe ='M')错误中指出你的算符。我可以说你是C语言的初学者,我强烈建议你使用IDE,IDE对于指出代码中的错误非常有用,对于任何程序员来说都是完美的。在像C这样的语言中,你会在脚下射击很多,所以IDE会帮助你成为职业选手。我使用code :: blocks进行C编程,但Visual Studio 2015是一个不错的选择。