void main()
{char b1[8]=“abcdef”
}

这个我理解哈
我先百度了一下这个
"C 库函数 char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest",我理解这个意思是说,从src指向的位置开始直到末尾的所有字符都,都依次拷贝到dest指向的一段连续空间内。
然后看你这个代码的话,初始pb是指向b1+3的位置的,然后用那个while循环不断地运行strcpy(b2, pb),直到pb小于b1。也就是说,在最后那个时刻,一定恰好有pb=b1,即pb此时指向b1的起始位置,也就是说这时pb指向的就是字符串b1,然后再运行strcpy的话,就会把整个b1拷贝到b2了。