当我运行以下代码时:
#include <stdio.h>
int main(int argc, char *argv[])
{
int p = 0;
p = strcmp(NULL,"foo");
return 0;
}
我得到分段错误。回声$?139 说。但是当我跑步时
#include <stdio.h>
int main(int argc, char *argv[])
{
int p = 0;
strcmp(NULL,"foo"); // Note removed assignment
return 0;
}
我没有得到任何分段错误。有人可以请一些光吗?
这是我的 gcc 信息:
> gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-8)