【发布时间】:2014-01-09 19:20:55
【问题描述】:
我在课堂上有一个作业,我需要验证一些用户输入并根据所述输入输出不同的结果。非常基本的东西,但我是 C 的新手,所以这就是我开始的地方。我以为我在正确的轨道上,但无论我输入什么整数,终端都会打印Good job! 这是我的代码:
C
printf("How tall should the pyramid be?\n");
int n = GetInt();
if (3 <= n < 23)
{
printf("Good job!\n");
}
else if (0 < n <= 3)
{
printf("Well, that's not very impressive is it?\n");
}
else
{
printf("Please enter a valid number between 1 and 23.\n");
}
现在,我对 C 的经验为零,但我确实了解一些 Python,如果我要翻译上述代码,它会按预期工作:
Python
n = input("Enter Number")
if (3 <= n < 23):
print("Good job!\n")
elif (0 < n <= 3):
print("Well, that's not very impressive is it?\n")
else:
print("Please enter a valid number between 1 and 23.\n")
为什么这种结构在 Python 而不是 C 中有效?我应该更改什么以便我的 C 代码打印正确的字符串?
【问题讨论】:
-
@JonathanLeffler 我可以看到你关于这成为一个常见问题的观点。为重复道歉,我的搜索太模糊了。
-
很难找到那个...
标签: c integer conditional-statements