解释一下吧,不能够解释的对不对!
假设它们在内存中是的地址是这样的:
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
1
2
3
\0
4
5
6
7
8
9
\0
cc(这个是填充字节)
当使用strcpy(s , d)之后上面内存中的东西就变为了:
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
4
5
6
7
8
9
\0
7
8
9
\0
cc
然后在输出的时候先放在输出缓冲区中,输出缓冲区中的内存就是这样,
4
5
6
7
8
9
\0
7
8
9
\0
cc
那么在输出的时候char数组d从8开始输出,知道遇到了\0结束,这样也就是输出了89 , 在输出char数组s的时候从4开始输出,遇到\0输出结束,即456789