C中负数的环礁值

时间:2019-02-11 23:34:53

标签: c atoi

我正在尝试使用环礁来转换带空格的数字字符串。我想在C语言中制作一个仅包含正数的循环。

到目前为止,据我了解,char上的环礁将返回0,同样是int和char的组合,例如“ 3a”。但是,对于负数的环礁,负数是否有一定范围的值?

根据我的第一个打印语句,我发现-1的结果是18446744073709551615,-2的结果是18446744073709551614,-3的结果是18446744073709551613,等等。

for(arg = 1; arg < argc; ++arg)
{
   printf("%llu\n", atoll(argv[arg]));

   if(atoll(argv[arg]) == 0 || atoll(argv[arg]) >= xxxxx))
   {
     printf("Enter a valid number.");
   }
   else
   {
     printf("irrelevant code here");
   }
}

1 个答案:

答案 0 :(得分:1)

从您的代码片段中不可能找出一些重要的事情。您是否包含正确的标题,是否在printf中使用了正确的格式说明符和长度修饰符?在下面的示例中,您可以找到正确的long格式,包括正确的格式。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("%lld\n", atoll("-1"));
    return 0;
}

/ *此示例打印正确的输出-1 * /