gpt4 book ai didi

c - 交换/交换指针时的未定义行为

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:04 27 4
gpt4 key购买 nike

我创建了动态数组。如果具有某些值,则填充。打印它。但是交换/交换指针后(任务是在特定条件下交换行)

条件取决于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? */
}
}

最佳答案

如果你想交换指针,那么它应该是这样的

temp = a[i]; a[i] = a[i+1]; a[i+1] = temp;

如果你想交换值,那么它应该是这样的

temp = *a[i]; *a[i] = *a[i+1]; *a[i+1] = temp;

关于c - 交换/交换指针时的未定义行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15957635/

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