我需要从命令行接受一个整数数组,例如: ./test 2 9 -5 17
目前我有:
int main(int argc, int *argv[])
然后循环查找此数组中的两个数字,从argv [1]开始创建最大值。显然这不起作用。我是否需要它:
int main(int argc, char *argv[])
然后解析这个?我不知道如何将字符转换为C中的整数。
谢谢,
答案 0 :(得分:1)
使用strtol()将每个argv [i](对于i从1开始)转换为long int。
答案 1 :(得分:0)
int main(int argc, char *argv[])
{
size_t i;
int n;
for (i = 0; i < argc; ++i) {
if (sscanf(argv[i], "%d", &n) == 0) {
fprintf(stderr, "Position %d is not an int\n", i + 1);
return 1;
}
printf("%d\n", n);
}
return 0;
}