我已经创建了动态数组。如果具有某些值,则填充。打印它。但互换/交换指针后(该任务是交换某些条件的线路)交换/交换指针时未定义的行为
条件取决于sumL
。为了不浪费时间,我没有详细描述细节。
的问题是交换指针。
for (k = 0; k < N - 1; k++)
{
for (i = 0; i < N - 1; i++
if (sumL[i] > sumL[i+1])
{
temp = sumL[i]; // works
sumL[i] = sumL[i+1];
sumL[i+1] = temp;
temp = *a[i]; // doesn't work. Array is not the same: elements
a[i] = a[i+1]; // contain other values.
*a[i+1] = temp; /* What is wrong? */
}
}
哪些变量类型?我很惊讶地发现,只有四个访问中只有两个访问被解除引用。 – 2013-04-11 19:54:31