我正在尝试使用环礁来转换带空格的数字字符串。我想在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");
}
}
答案 0 :(得分:1)
从您的代码片段中不可能找出一些重要的事情。您是否包含正确的标题,是否在printf中使用了正确的格式说明符和长度修饰符?在下面的示例中,您可以找到正确的long格式,包括正确的格式。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("%lld\n", atoll("-1"));
return 0;
}
/ *此示例打印正确的输出-1 * /