【发布时间】:2016-04-11 18:17:27
【问题描述】:
我需要从命令行接受一个整数数组,例如: ./test 2 9 -5 17
目前我有:
int main(int argc, int *argv[])
然后循环查找此数组中的两个数字,它们从 argv[1] 开始创建可能的最大值。显然这是行不通的。我需要它吗:
int main(int argc, char *argv[])
然后解析这个?我不确定如何在 C 中将字符转换为整数。
谢谢,
【问题讨论】:
-
可接受的整数范围是多少?
-
我不确定如何在 C 中将字符转换为整数。
atoi()或strtol()可以将字符串转换为 int -
没有范围。任何整数,正负,大/小,都可以接受。
-
JDeffo: "no range. Any integers" --> 那么像 123456789012345678901234567890 这样的值是可以接受的吗?
-
@Mike Holt OP 可能希望将代码的操作限制为某些 C 整数类型范围内的整数,例如
int或long long或可能不这样做。了解 OP 对编码目标的想法会很有启发性。