gpt4 book ai didi

无法复制值(value)?是逻辑错误?或打印错误?

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

嗨,我有下面的简单程序

#include <stdio.h>
#include <string.h>

typedef unsigned long long uint64;

void getvalue(uint64 *getValue)
{
unsigned char arr[8] = {0xAB, 0xCD, 0x12, 0x34, 0xFF, 0xED, 0xCA, 0x01};
memcpy(getValue, arr, sizeof(uint64));
}

void main()
{
uint64 getValue;
getvalue(&getValue);
printf("value :0x%08x and sizeof(uint64) = %d", getValue, sizeof(uint64));
}

这个程序在 8 字节变量中复制内容,但是当我运行它时,我看到下面的输出显示只复制了 4 个字节。

value :0x3412cdab and sizeof(uint64) = 8

所以谁能指出我的问题是什么?

最佳答案

复制没问题,你必须用 long long unsigned 打印

printf("0x%llx", (unsigned long long) getValue);

关于无法复制值(value)?是逻辑错误?或打印错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160137/

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