请教两个问题
第一个问题
pTemp = (char *)malloc(nLen * sizeof(char)); // 生成一个足够容纳pSrc1和pSrc2的buffer while((*pTemp++ = *pSrc1++) != '\0') ; while((*pTemp++ = *pSrc2++) != '\0') ; //用这段代码实现不了字符串连接的功能, pSrc2的内容会覆盖掉pTemp里的pSrc1的内容 for (; (*pTemp = *pSrc1) != '\0'; ++pTemp, ++pSrc1) ; for (; (*pTemp = *pSrc2) != '\0'; ++pTemp, ++pSrc2) ; //这段代码则可以正常工作何解?
pSrc = pSrc + nPos - 1; for (; (*pTmp = *pSrc) != '\0'; ++pTmp, ++pSrc) ; //可以正常工作 for (nPos; nPos < nTimes; ++nPos) //nTime = 需要循环的次数 - nPos; { *pTmp++ = *(pSrc+nPos-1); } //如果上述代码在同一个上下文中 (循环的次数相等, 其它条件也是一样的), 这段代码也能复制到想要的字符串,但是用printf输出 结构后面出现了"驱驱驱驱驱驱" 比如:"Moto 驱驱驱驱驱驱" 何解?