小编Tùn*_*Pun的帖子

当*(int*)(0)= 0时,为什么printf不起作用; 存在

我有以下代码:

main ()
{
    printf("Hello world !");
    *(int *)(0) = 0;
}
Run Code Online (Sandbox Code Playgroud)

当我编译此代码并运行时,它没有将字符串打印到控制台.在那之后,我修改了一点:

main ()
{
    printf("Hello world !\n");
    *(int *)(0) = 0;
}
Run Code Online (Sandbox Code Playgroud)

而且,它工作!

我认为背后的奥秘是*(int *)(0) = 0;但不知道为什么!

PS.我正在使用gcc 4.8.2进行编译.

c

-3
推荐指数
1
解决办法
132
查看次数

标签 统计

c ×1