is it valid by C standard?
===

<pre>
    void 
    main(int a,int b, int c, int d,char *msg){
        if(d==1){
            printf("%s\n",msg);
        }else{
            main(1,2,3,1,&"Hello Stackoverflow");
        }
    }

</pre>    

is this code good in view of C standard(k&r, C89,C99,C10x?)?

if not then what wrong whit it?                                                                                  
          