我不明白为什么以下代码会给我“分段错误(核心转储)”

时间:2019-10-12 21:04:13

标签: c linux segmentation-fault

I ran a tester and the error pops out when encountering the first if statement--->(argc<2)

我运行了一个测试器,遇到第一个if语句if (argc<2)时,错误弹出。

1 个答案:

答案 0 :(得分:1)

函数atoi使用char *从ascii转换为整数,如果给char *的{​​{1}}是atoi,则其行为是不确定的,并且肯定会产生细分错误。

如果您不给程序提供任何参数,则NULL将等于argv[1]

由于您已经在检查是否提供了参数,因此应针对您的第一个条件提供else语句来解决此问题,

NULL