gpt4 book ai didi

c - 数字总和程序无法为更大的数字提供正确的 O/P

转载 作者:行者123 更新时间:2023-11-30 18:20:07 26 4
gpt4 key购买 nike

我编写了一个程序来求数字之和。当我使用数字(例如 10 位数字)时,我会得到一些错误的答案。

例如,如果我将输入指定为 9999999999,则输出为 46。以下是到目前为止我的代码:

#include<stdio.h>

int main()
{
int sum,value,rem;
printf("Enter the value:");
scanf("%d",&value);
sum= 0;
while((value/10)>0)
{
rem=value%10;
sum=sum+rem;
value=value/10;
}
sum=sum+value;
printf("Sum of digits is %d",sum);
return 0;
}

最佳答案

9999999999 的值太大,无法由 int 保存。

引用:C11 标准,第 §5.2.4.2.1 章,

INT_MAX                 +32767
UINT_MAX 65535
LONG_MAX +2147483647
ULONG_MAX 4294967295
LLONG_MAX +9223372036854775807
ULLONG_MAX 18446744073709551615

尝试使用更大数据类型,例如long long intunsigned long long int。您应该为所使用的数据类型使用适当的转换说明符。

请注意,main() 的推荐签名是 int main(void)

关于c - 数字总和程序无法为更大的数字提供正确的 O/P,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371196/

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