SIGSEGV: atoi () from /usr/lib64/libc.so.6 in main ()

助教您好,已經解決MPI_Init()的問題,但是不知道為什麼不能用atoi()轉換argv[1]
以下是gdb的error msg
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6a22fe7 in ____strtoll_l_internal () from /usr/lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.6-13.el7.x86_64 elfutils-libelf-0.176-4.el7.x86_64 elfutils-libs-0.176-4.el7.x86_64 glibc-2.17-325.el7_9.x86_64 hwloc-libs-1.11.8-4.el7.x86_64 hwloc-plugins-1.11.8-4.el7.x86_64 libattr-2.4.46-13.el7.x86_64 libcap-2.22-11.el7.x86_64 libevent-2.0.21-4.el7.x86_64 libibumad-43.1.1.MLNX20200211.078947f-0.1.49224.x86_64 libibverbs-41mlnx1-OFED.4.9.0.0.7.49224.x86_64 libmlx4-41mlnx1-OFED.4.7.3.0.3.49224.x86_64 libmlx5-41mlnx1-OFED.4.9.0.1.2.49224.x86_64 libnl3-3.2.28-4.el7.x86_64 libpciaccess-0.14-1.el7.x86_64 librdmacm-41mlnx1-OFED.4.7.3.0.6.49224.x86_64 librxe-41mlnx1-OFED.4.4.2.4.6.49224.x86_64 libtool-ltdl-2.4.2-22.el7_3.x86_64 libxml2-2.9.1-6.el7.4.x86_64 numactl-libs-2.0.12-5.el7.x86_64 systemd-libs-219-73.el7.1.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64
(gdb) bt
#0 0x00007ffff6a22fe7 in ____strtoll_l_internal () from /usr/lib64/libc.so.6
#1 0x00007ffff6a1f900 in atoi () from /usr/lib64/libc.so.6
#2 0x0000000000408a67 in main ()

想請問要怎麼解決,謝謝

同學好,

這可能是因為你使用 atoi(argv[i]) 中的 i 超過了測試時傳入的參數數量。

導致 argv[I] 是一個不存在的地址。進而引發 segmentation fault

展佑