gpt4 book ai didi

c - C 中的 while..do 循环

转载 作者:行者123 更新时间:2023-11-30 21:25:27 25 4
gpt4 key购买 nike

我最近刚刚学习C 编程。事实上,我是编程的初学者。目前,我正在阅读《C 编程,绝对初学者指南》一书。我不太明白这一点,他们使用 do...while 循环:

if (choice == 'n')
{
choice = 'N';
}
} while (choice != 'N');

这用于用户输入“n”而不是 N 的情况。但我像这样重新输入:

while ((choice != 'N')||(choice!='n'));

while 循环仍然继续

抱歉,伙计们,我没时间(我差点错过校车)这是书中完整的原始代码:

float num1, num2, result;
char choice;
do {
printf("Enter your first number to multiply: ");
scanf(" %f", &num1);
printf("Enter your second number to multiply: ");
scanf(" %f", &num2);
result = num1 * num2;
printf("%.2f times %.2f equals %.2f\n\n",
num1, num2, result);
printf("Do you want to enter another pair of numbers ");
printf("to multiply (Y/N): ");
scanf(" %c", &choice);
// If the user enters a lowercase n, this if statement will
// convert it to an N
if (choice == 'n')
{
choice = 'N';
}
} while (choice != 'N');
return 0;

最佳答案

您的 bool 逻辑不正确,您正在寻找的是......

while ((choice != 'N')&&(choice!='n'));

在使用 OR 的情况下,如果任一情况为真,它就会继续,因此它总是会

|选择|选择!='N' |选择!='n' |或 |和 |
| X |真实 |真实 |真实 |正确 |
| n |真实 |假 |真实 |假|
|尼 |假 |真实 |真实 |假 |

关于c - C 中的 while..do 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com