在编写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-仍然返回无效的选择。我在做错什么吗?
答案 0 :(得分:0)
正如kiran Biradar和Jonathan Leffler所建议的那样,语句choice == 0;
是错误的,需要更正为{{1}}。现在问题已解决。