gpt4 book ai didi

c - C 编程的数字计数功能将无法超过 11 位

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

下面的函数应该用来计算数字中的位数。不幸的是,它不适用于 11 位或更多位的数字,我不确定为什么。我觉得它与数据类型有关,但我认为在这种情况下 long long int 会很好。感谢您的帮助!

long long int getLength(long long int input)
{
long long int length = 0;

while(input != 0)
{
input /= 10;
++length;
}
return (length);
}

最佳答案

这可能不是一个答案,但请允许我在这里报告输出。你能仔细检查一下吗?它对我有效

#include "stdio.h"

long long int getLength(long long int input)
{
long long int length = 0;

while(input != 0)
{
input /= 10;
++length;
}
return (length);
}

int main()
{
printf("%lld\n", getLength(12345678901)); // 11
printf("%lld\n", getLength(123456789012)); // 12
printf("%lld\n", getLength(1234567890123)); // 13
printf("%lld\n", getLength(0)); // 0
printf("%lld\n", getLength(-123)); // 3
}

平台 Windows 10,gcc --version 返回

gcc (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 7.3.0

问题 1:您真的需要类型 long long int 来报告位数吗?

问题 2:您是否在 printf 中正确使用了格式说明符 %lld

关于c - C 编程的数字计数功能将无法超过 11 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53111930/

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