gpt4 book ai didi

C 编程时条件被忽略

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

我的第二个 while 条件被忽略,不知道如何修复它。

int while_counter = 0;
int finish_flag = 0;
while(while_counter < 100 || finish_flag != 1)
{
while_counter++;
finish_flag = 1;
printf(" finish_flag is %d \n", finish_flag);
}

我猜它会将其解释为。正确的?我该如何解决这个问题?我仍然希望我的第一个条件得到尊重。

while(1)
{
while_counter++;
finish_flag = 1;
printf(" finish_flag is %d \n", finish_flag);
}

最佳答案

您需要逻辑 AND 运算符,而不是逻辑 OR 运算符。

用英语,将while中的条件读作:
while_counter <100或finish_flag不是1时,在我体内做所有事情”。

想一下。您会意识到您需要在上面的英文版本中将“or”替换为“and”,这就是为什么您需要 && 而不是 ||

在您当前的版本中,while 中的两个条件都必须为 false 才能结束。您修改 finish_flag,使第二个条件为 false,但每次迭代都会增加 while_condition 一次。
由于 || 表示“或”,因此只需其中一个参数为 true 即可执行主体。因此,while_condition 需要递增 100 次才能使第一个条件为 false,这就是循环执行 100 次的原因。

关于C 编程时条件被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26467152/

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