gpt4 book ai didi

c - 整数溢出

转载 作者:行者123 更新时间:2023-11-30 16:05:29 26 4
gpt4 key购买 nike

我有一个 unsigned long long 用于跟踪交易量。卷增加另一个 unsigned long long。每 5 秒我打印出这个值,当该值达到 32 位无符号最大值时,printf 给出一个负值。代码片段如下:

unsigned long long vol, vold;
char voltemp[10];

vold = 0;

稍后...

while (TRUE) {
vol = atoi(voltemp);
vold += vol;
fprintf(fd2, "volume = %llu);
}

我做错了什么?它在 RedHat 4 2.6.9-78.0.5.ELsmp gcc 版本 3.4.5 下运行

最佳答案

既然你说它打印了一个负值,那么除了你使用 atoi 而不是 strtoull 之外,肯定还有其他问题。 %llu 格式说明符只是不打印负值。

看起来问题很明显出在 fprintf 调用上。检查您是否包含了 stdio.h 并且参数列表确实是源代码中的内容。

关于c - 整数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/837215/

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