gpt4 book ai didi

c++ - 导致无限循环的括号

转载 作者:行者123 更新时间:2023-11-28 00:34:40 25 4
gpt4 key购买 nike

与三个 For 循环相关的括号导致函数无限循环,

void Bubblesort (char ulist[27], char slist[27], int n)
{
int i,j;
char temp;
for (i=1;i<=n;i++)
{
slist[i] = ulist[i];
for (j=1; j <= n-1 ;j++)
{
for (i = 1; i <=n-j;i++)
{
if (slist[i] < slist[i+1])
{

temp = slist[i];
slist[i] = slist[i+1];
slist[i+1] = temp;
}

}
}
}
}

虽然没有括号;函数到达终点。

void Bubblesort (char ulist[27], char slist[27], int n)
{
int i,j;
char temp;
for (i=1;i<=n;i++)
slist[i] = ulist[i];
for (j=1; j <= n-1 ;j++)
for (i = 1; i <=n-j;i++)
if (slist[i] < slist[i+1])
{
cout << "Step 4";
temp = slist[i];
slist[i] = slist[i+1];
slist[i+1] = temp;
}



}

有人能解释一下这是什么原因吗?

最佳答案

您已经更改了循环的语义并且您的缩进具有误导性。

void Bubblesort (char ulist[27], char slist[27], int n)
{
int i,j;
char temp;
for (i=1;i<=n;i++)
slist[i] = ulist[i];
for (j=1; j <= n-1 ;j++)
for (i = 1; i <=n-j;i++)
if (slist[i] < slist[i+1])
{
cout << "Step 4";
temp = slist[i];
slist[i] = slist[i+1];
slist[i+1] = temp;
}
}

应该缩进为

void Bubblesort (char ulist[27], char slist[27], int n)
{
int i,j;
char temp;
for (i=1;i<=n;i++)
slist[i] = ulist[i];

for (j=1; j <= n-1 ;j++)
for (i = 1; i <=n-j;i++)
if (slist[i] < slist[i+1])
{
cout << "Step 4";
temp = slist[i];
slist[i] = slist[i+1];
slist[i+1] = temp;
}
}

关于c++ - 导致无限循环的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21420482/

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