我正在尝试在strchr
中执行一些代码工作但不幸的是我使用strchr
会导致执行错误,在某些情况下strchr
似乎返回了错误的值,
这是代码:
int main(){
char* s="1/2/3/4/8/9/7";
char r[100];
char chunk2[100];
int i,jpos;
for(i=0;i<5;i++){
strcpy(r, strrev(s));
jpos = strchr(r, '/')-r;
strncpy(chunk2, r, jpos);
strcpy(r, strrev(chunk2));
}
}
怎么了?以及如何解决这个问题?感谢。
答案 0 :(得分:3)
是一个字符串文字,strrev()尝试更改它,你不能对静态数据这样做。
使用字符数组
char s[]="1/2/3/4/8/9/7";