【发布时间】:2017-03-16 22:20:08
【问题描述】:
这段代码有问题,我试图将array1 与array2 相加。
我通过命令行参数输入 array2 的数字。
当我输入 10 个数字时,它正在工作,但是当我添加少于 10 个时,我得到一个内存访问错误。
我现在的问题是:如何用数字 0 填充缺失的数组字段?例如:我输入9个数字,第10个字段应该是0。
【问题讨论】:
-
在您的问题正文中添加您的代码。不要将我们链接到您的代码图片。
-
欢迎来到 Stack Overflow,您应该发布代码而不是图片。
-
您所描述的问题和您提出的问题似乎无关。崩溃并非来自未初始化为零。问题是您访问了不存在的
argv值,因此访问了无效内存。修改您的代码以在使用任何argv值之前先检查argc。 -
并且,请将您的代码作为文本而不是图像发布。
-
int array2[10] = {0}; for(i = 1; i < argc && i <= 10; ++i) array2[i-1] = atoi(argv[i]);