gpt4 book ai didi

c - 为什么 '%d' 没有返回正确的值?

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

int a = 31; 
int b = 1;

while (a)
{
b = (2 * b) + 1;
a--;
};

printf("count:%d \n", b);

a 小于 31 时,它会打印正确的数字。从31开始,它只打印-1,我不明白为什么。我该如何解决?

最佳答案

整数溢出,将变为负数。

要解决此问题,您可以将 int 变量 b 更改为 long

long b = 1;

关于c - 为什么 '%d' 没有返回正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29215221/

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