我正在尝试建立一个小型的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;
}
}
答案 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是一个不错的选择。