为什么这是以下 c 代码 12 的输出?

-1 c return-value function-call

这是一个简单的 c 程序,但输出是 12 我不明白相同的输出是 12。请解释一下

#include <stdio.h>
    int show() 
    {
        printf("hello world\n");
    }
    int main() 
    {
        int i;
        i=show();
        printf("%d",i);
      
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

Sou*_*osh 5

如果一个函数通过到达结束}而结束,并且返回值被使用(在调用者中),它是未定义的行为。

引用C11,第 6.9.1 章

如果}到达终止函数的 ,并且调用者使用了函数调用的值,则行为未定义。