我想在C中反轉一個字符串,我能夠完成這一任務但並非沒有副作用,我不太明白。這裏是我的代碼扭轉一個字符串:在C中反轉字符串迭代
void reverseString(char *toReverse, char *reverse) {
int i = strlen(toReverse);
int counter = 0;
for (i; toReverse[counter] != '\0'; i--) {
reverse[i] = toReverse[counter];
counter++;
}
}
int main(int argc, char *argv[]) {
char reverse[strlen(argv[1]) + 1];
reverse[strlen(reverse)] = '\0';
reverseString(argv[1], reverse);
printf("The reverse string is '%s'", reverse);
}
當給一個字符串這個正確字符串逆向還增加了一些額外的數據,例如:
鑑於串abc123
字符串321cbaub◄¥u"ñç«
返回
爲什麼會發生這種情況,我該如何解決?
Insread的: '反向[strlen的(反向)] = '\ 0';'你需要'reverse [strlen(argv [1])] ='\ 0';' –
空終止符... –