與以下三個對於迴路相關聯的括號導致函數無限循環,支架引起無限循環
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;
}
}
有人能解釋這個原因嗎?
您最內層和最外層的'for'循環都使用相同的索引變量'i'。對於3個循環,使用3個變量,例如, '我','j','k'。 – Matt