【发布时间】:2019-09-05 03:42:40
【问题描述】:
我真的是 C 语言的新手,正在测试一个简单的 if 语句程序,根据您的年龄和性别,该程序可以从 4 种不同的结果中得出一个答案。
大概是这样的: 如果您未满 55 岁且为男性,则会打印: “你是一个处于最佳年龄的男人!”
但我遇到了一个错误代码,上面写着:运行时检查失败 #2 - 围绕变量“miesVaiNainen”的堆栈已损坏。
我自己,认为这可能与:if (manOrFemale == "f" && age <= 55)
如何解决此问题,以免出现错误?
我曾尝试在 stackoverflow 中寻求帮助,并尝试大量更改代码。
int age;
char manOrFemale;
printf("Are you a man or a female(m/f)");
scanf("%s", &manOrFemale);
printf("Input age:");
scanf("%d", &age);
if (manOrFemale == "f" && age <= 55)
{
printf("\nYou are a lady at her best!");
} else if (manOrFemale == "f" && age >= 56)
{
printf("\nYou look young for your age!");
}
if (manOrFemale == "m" && age <= 55)
{
printf("\nYou are a man at his best age!");
} else if (manOrFemale == "m" && age >= 56)
{
printf("\nYou are a wise man!");
} else {
printf("There has been an error in the program!");
}
}
【问题讨论】:
标签: c if-statement char