我是C新手,想要弄清楚数组和命令行参数。我有:C将字符命令行参数转换为整数数组
int main(int argc, int **argv) {
int vals[8];
for(int i = 0;i < 8;i = i + 1) {
vals[i] = atoi(argv[i]);
printf("%d", vals[i]);
}
}
我./file 1 2 3 4 5 6 7 8
调用它,我希望它吐出12345678
,而是它吐出这对我说,它只是打印阵列位置。我如何才能实际打印/访问
vals[i]
的值,和/或确保命令行值实际上已正确分配?
在此先感谢。
使用任何其他示例来测试您的程序。试试'./file 8 7 6 5 4 3 2 1'。 –
'atoi'对您的程序名称问题0,因为它无法转换为整数。 –
这就是为什么一般来说,'atoi()'是一个坏主意,你应该使用'strto ___()'函数之一。 –