小编Tom*_*Tom的帖子

简单的C代码在HPUX上运行良好,但在Linux上运行段错误.为什么?

我很长很长时间没有做过任何严肃的C,并且很乐意快速解释.以下代码在HP/UX上编译并运行正常.它在Ubuntu中对GCC 4.3.2进行编译时没有任何警告(即使使用gcc-Wall),但在Linux上运行时会出现段错误.

有谁能解释为什么?

#include <stdio.h>

int main() {
    char *people[] = { "Abigail", "Bob" };

   printf("First:  '%s'\n", people[0]);
   printf("Second: '%s'\n", people[1]);

   /* this segfaults on Linux but works OK on HP/UX */
   people[1][0] = 'R';

   printf("First:  '%s'\n",people[0]);

   return(0);
}
Run Code Online (Sandbox Code Playgroud)

c linux portability gcc hp-ux

4
推荐指数
1
解决办法
489
查看次数

标签 统计

c ×1

gcc ×1

hp-ux ×1

linux ×1

portability ×1