你没把i++和++i弄懂,i++是先使用当前的值后在加1,因此a[i]=b[j];i++;j++和(a[i++]=b[j++])的效果是一样的,条件while((a[i++]=b[j++])!=0)可以直接写成while(a[i++]=b[j++])就行。