以下代码用于反转C样式String.But当我运行此代码时,
它产生错误:
[1] 42496总线错误./a.out
我不知道如何解决这个问题。请你帮助我好吗?谢谢你
推进:)
#include <stdio.h>
void reverse(char * str){
char * end = str;
char tmp;
if(str){
while(*end){
++end;
}
--end;
while(str<end){
tmp = *str;
*str++ = *end;
*end-- = tmp;
}
}
}
int main(){
char * str = "abcd";
reverse(str);
printf("%s\n",str);
}
答案 0 :(得分:4)
char * str = "abcd";
这是string literal,您无法对其进行修改。这是一个常数。在函数reverse
中,您尝试修改它,因此会出现错误。
而是声明这样 -
char str[] = "abcd";
答案 1 :(得分:0)
输入list -l
并检查文件权限。
顺便说一句,使用gcc