while(*(a++))这里,当循环到a=0时,循环结束了,循环结束后继续执行++,所以a最终停留在0的后面,也就是数组第5个位置数组0123分别是pmfc,s[4]=0,a在s[5],那么后续赋值的时候,直接从s[5]开始往前面赋值,这样s[6]是0是字符串结尾,那么字符串里不就有6个字符了吗