gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04)个
也在几个在线编译器上进行了测试(我知道它们可能不是一个可靠的 Select )
Tests (Compare 示例1 and Example 2)
示例1
#include <stdio.h>
#include <unistd.h>
int main(void) {
printf("before-fork\n");
int a;
fork();
printf("%p\n", (void *)&a);
return 0;
}
输出1-输出1
before-fork
0x7fff58cd3324
0x7fff58cd3324
示例2(仅将‘\n’替换为printf("before-fork\n")
中的空格)
输出2、输出2
before-fork 0x7ffce0196bb4
before-fork 0x7ffce0196bb4
预期行为
输出1-输出1
这是一个bug吗?若否,原因为何?