b是一个指针,*b是指针指向的位置。b并未指向任何位置,但是你却为他赋值,当然出错。char *b ;添加如下代码:char tmp; b = *b = *a;即可。这时候给*b赋值,就是给tmp赋值。追问还是不行啊,程序停止工作 回答还有个问题没有说到 printf(%s %s,*a,*b); %s输出的是字符串,但是无论*a还是*b都是一个字符,所以更改为 printf(%c %c,*a,*b);--------------------------------------------下面的代码你试试: char str[]={my}; char *a,*b; char temp; b =a=str; *b=*a; printf(%c %c,*a,*b); 赞同0|评论
|