gpt4 book ai didi

c - 反转 32 位整数数组的元素顺序

转载 作者:行者123 更新时间:2023-11-30 20:02:54 25 4
gpt4 key购买 nike

我有这个任务:

Reverse the order of an array of 32-bit integers

所以,我有这个数组:

 { 0x12345678, 0xdeadbeef, 0xf00df00d };

它应该看起来像这样:

{ 0xf00df00d, 0xdeadbeef, 0x12345678 };

我已经尝试过,但没有成功:

#include <stdint.h>

void reverse_array ( uint32_t *array, unsigned int count ) {
uint32_t array[3] = {0x12345678, 0xdeadbeef, 0xf00df00d };
reverse_array ( array, 3);
}

但这让我很困惑:

main.c: In function ‘reverse_array’:
main.c:12:10: error: ‘array’ redeclared as different kind of symbol
uint32_t array[3] = {0x12345678, 0xdeadbeef, 0xf00df00d };
^~~~~
main.c:11:32: note: previous definition of ‘array’ was here
void reverse_array ( uint32_t *array, unsigned int count ) {
^~~~~

最佳答案

此错误消息告诉您,您正在声明两个具有相同名称的不同变量:

void reverse_array ( uint32_t *array, unsigned int count )

在这里声明一个名为array的参数。

    uint32_t array[3] = {0x12345678, 0xdeadbeef, 0xf00df00d };

在这里声明一个同名的局部变量。

问题在于您将应位于 main() 函数中的代码放入了 reverse_array() 中。所以你的代码应该是这样的:

#include <stdint.h>

void reverse_array ( uint32_t *array, unsigned int count ) {
// You need to figure out what code to put here
}

void main() {
uint32_t array[3] = {0x12345678, 0xdeadbeef, 0xf00df00d };
reverse_array ( array, 3);
}

现在您需要弄清楚如何实际反转数组。

关于c - 反转 32 位整数数组的元素顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58595677/

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