我正在编写一个 C 程序,它接受unsigned long long
从命令行输入的数字列表。如何解析它们并存储在数组中?似乎这strtoull
可能会有所帮助,但我该如何使用它呢?
这是我的代码:
#include<stdio.h>
main (int argc, char *argv[])
{
unsigned long long M[1000];
int i;
printf("length: %d\n", argc - 1);
for(i = 1; i < argc; i++) {
M[i] = strtoull(argv[i], NULL, 10);
printf("%llu\n", M[i]);
}
return 0;
}
当参数很小时它可以工作,但是当我输入一个巨大的数字(比如,123456789012345)时,它没有被正确解析。我究竟做错了什么?