我已经尝试调试此代码,但是即使我在while循环中循环遍历字符串,它看起来也不像在循环任何东西。调用函数后,目标数组不变。
void stringConcatenate(char * destination, char * source)
{
int index1 = 0; //for cycling subscripts
int index2 = 0;
while (destination[index1] != '\0') //cycle to end of first string
{
index1++;
}
index1++; //to get to null character
while (source[index2] != '\0') //cycle through second string appending along the way
{
destination[index1] = source[index2];
index1++;
index2++;
}
destination[index1] = '\0'; //append null point
}
最佳答案
在第一个index1
语句之后递增while
的行不应在那里。
index1++; //to get to null character <-- incorrect.
index
已经指向终止符。通过在此处增加它,最终将字符串追加到终止符后面一个字符。