gpt4 book ai didi

c - 我有一个无限循环,只有当它返回的任何三个连续值相同时,我才需要在其之间中断。怎么做?

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

下面的代码显示了 rowtotal[0],它是我从每次迭代的无限循环中获得的返回值。当 costcheck 数组中的所有三个返回值都相同时,我试图打破循环。这是我的代码:

do
{
.
.
.
/*do loop body*/
.
.
costcheck[counter3]=rowtotal[0];

if(costcheck[counter3-2]==costcheck[counter3] &&
costcheck[counter3-1]==costcheck[counter3] )
{
response=1;
}
counter3++;
printf("\t\t\t Number of iterations: %d \r", stop++);
}
while(response!=1);

最佳答案

去掉所有奇怪的、多余的变量。您只需要保存上一次迭代的结果以及每次找到匹配项时增加的计数器,而不是每次循环时都会增加该计数器。

int counter=0; 
const int COUNT_N = 3;
data_t prev=FORBIDDEN; // a value that rowdata[0] can never have

while(counter != COUNT_N)
{
...

if(prev == rowdata[0])
{
counter++;
}
else
{
counter=0;
}

prev = rowdata[0];
}

关于c - 我有一个无限循环,只有当它返回的任何三个连续值相同时,我才需要在其之间中断。怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957057/

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