函数是反转一个 C 字符串:
void reverse(char[] str){
char *start = str;
char *end = str;
char tmp;
if (str) {
while (*end) {
end++;
}
end--;
while (&str > &end) {
tmp = *str;
*str = *end;
str++;
*end=tmp;
end--;
}
}
}
在最后一个while循环中,当我将*end分配给*str时,这条线导致总线错误,谁能解释一下原因?
顺便说一句,char [] temp 和 char temp[] 有什么区别?