p=a+i;因为*(a+i)是个字符串结束符。你把b字符串合并到结束符后面,是显示不出来的
因为第一个串里有\0 你并没有做处理。
(1)p = a+i+1改成 p=a+i;a+i已经是最后一个字符后面的位置了,该位置处的字符是\0,如果用p=a+i+1,那么字符中就会包含这个\0,显示的时候遇到\0就结束了。所以不用再+1了,直接用p = a+i即可。(2)while中,*p != ‘\0’改成 *q != '\0'