【发布时间】:2020-02-05 22:00:33
【问题描述】:
我对编码非常陌生,尤其是 C,所以我决定参加 CS50 课程作为语言的介绍。我刚看完关于 C 的第一堂课,为了测试我对该主题的了解,我尝试编写一个简短的小程序。我也在使用课程的库来实现get_int() 函数。
目标是测试用户的输入并检查它是否小于或等于 10。如果它与参数匹配,程序应该打印“成功!”消息和退出;否则,它应该再次要求输入。如果输入值超过 10,程序会按预期响应,但如果您输入 10 或更少的值,它最终会在实际退出之前再要求您输入一次。我认为这可能与“for”循环有关,但我就是想不通。
我的代码:
#include <stdio.h>
#include <cs50.h>
#include <stdlib.h>
int check_for_value();
int main()
{
for(check_for_value(); check_for_value() != 1; check_for_value())
{
printf("Failed!\n");
}
exit(0);
}
int check_for_value()
{
int i = get_int("Your value: \n");
if(i <= 10)
{
printf("Success!\n");
return 1;
}
else
{
printf("Try again!\n");
return 0;
}
}
【问题讨论】: