C代码下面是否有效?

Ami*_*mar 1 c

在阅读帖子时,我遇到了以下代码并根据帖子输出此代码是一个错误说:

数组元素不能是自动变量的地址.它可以是静态或外部变量的地址.

 #include<stdio.h>
 int main()
 {
 int a=5,b=10,c=15;
 int *arr[]={&a,&b,&c};
 printf("%d",*arr[1]);
 return 0;
 }
Run Code Online (Sandbox Code Playgroud)

但是当在MinGW和在线编译器上运行此代码时,它可以正常运行而不会出现任何错误.

所以想知道这是完全有效还是没有?

小智 5

在C99中没关系,但ANSI不是.