和的条件之一失败,但代码执行

时间:2018-08-08 16:53:24

标签: c

在编写C代码时,我需要检查菜单中用户的选择是否有效:

while (choice == 0) {
    // Answer has not been determined
    printf("Please select an option: ");
    getline(&input, &isize, stdin); 
    sscanf(input, "%d", &choice);
    //printf("%d\t%d\n", choice, choice <= len); //debug
    if (choice > 0 && choice <= len) {
        return choice;
        break;
    }
    choice == 0;
}

在我看来这应该可以工作-printf中的条件评估为false-仍然返回无效的选择。我在做错什么吗?

1 个答案:

答案 0 :(得分:0)

正如kiran Biradar和Jonathan Leffler所建议的那样,语句choice == 0;是错误的,需要更正为{​​{1}}。现在问题已解决。