0
void reverse_String(char a[], int start, int length){
int i;
int j = length;
for(i = start; i != j ; i++, j--){
a[i] ^= a[j];
a[j] ^= a[i];
a[i] ^= a[j];
}
printf("%s", a);
}
int main(int argc, char *argv[]){
int length;
char word[strlen(argv[1])];
strcpy(word,argv[1]);
length = strlen(word);
reverse_String(word,0,length);
return 0;
}
为什么我为某些条目获取分段错误,但是它适用于其他条目? (Argv [1]是任何字符串输入)C:反转字符串时出现分段错误
...或使用'strdup' –
我建议分配'strlen(argv [1])+ 1'字符。不要忘记最后的空终止符''\ 0''。空终止符不由['strlen()']计算(http://linux.die.net/man/3/strlen)。 – e0k
XOR是一个巧妙的技巧,但不太容易理解,而且效率也不及3个涉及'temp'变量的操作。 –