我试图理解指针,这是我正在尝试实施的K&R程序.该程序是strcpy与KR的代码.
/*strcpy: copy t to s; pointer version 3*/
void strcpy(char *s, char *t){
while(*s++ = *t++)
;
}
Run Code Online (Sandbox Code Playgroud)
所以为了实现这个程序,我补充道
#include<stdio.h>
int main(){
char *s="abc", *t="ABC" ;
strcpy(s,t);
printf("%s\n",t);
printf("%s\n", s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,我收到分段错误.我确信我错过了一些东西,但不太确定是什么.
谢谢!
char *s="abc", *t="ABC" ;
Run Code Online (Sandbox Code Playgroud)
字符串文字不可修改,但是,char可以修改数组,因此将其更改为:
char s[] ="abc", *t="ABC" ;
Run Code Online (Sandbox Code Playgroud)