指的是:官方没有定义这个写法,但是编译器可以正常编译的写法
比如说
a=3[*b++=c,b]=c+1;
等同于
*b=c; b++; a = b[3]=c+1;
完整代码
#include <stdio.h>
int w[5]={1,2,3,4,5};
int a=3,*b=w,c=6,x=0;
int main(){
printf("a:%d b:%d c:%d x:%d\r\n",a,*b,c,b[4]);
for(int i =0 ;i<5;i++) printf("%d ",w[i]) ; printf("\r\n") ;
//a=3[*b++=c,b]=c+1;
*b=c;
b++;
a = b[3]=c+1;
printf("a:%d b:%d c:%d x:%d\r\n",a,*b,c,b[4]);
for(int i =0 ;i<5;i++) printf("%d ",w[i]) ;
}
真让人摸不着头脑