Is this code valid under any C standard?
问题 Does this code follow C standards (e.g. C89, C99, C10x)? 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"); } } If not, why? 回答1: There's one error: &"Hello Stackoverflow" does not have type char* , so you shouldn't pass that to a function expecting that type. Apart from that, this program is allowed by the Standard as an implementation-specific extension, but a compiler has the freedom to decline it. The function called