【发布时间】:2014-01-29 01:39:38
【问题描述】:
与三个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;
}
}
有人能解释一下原因吗?
【问题讨论】:
-
最里面和最外面的
for循环都使用相同的索引变量i。对于 3 个循环,使用 3 个变量,例如i,j,k.
标签: c++ for-loop infinite-loop brackets