c语言程序问题

[复制链接]
查看11 | 回复4 | 2009-9-16 21:26:56 | 显示全部楼层 |阅读模式
刚才没看清楚,注意C/C++字符串是常量,不可修改,因此执行*b=*a; *b='\0';都会造成访问违例。要复制只能另外开辟一个空间c,然后把b指向c
回复

使用道具 举报

千问 | 2009-9-16 21:26:56 | 显示全部楼层
你错就错在没有给字符串分配储存空间,所以你大可不必像用字符数组那样一个个的复制,只要把指针的值赋给b就行了也就是main(){char *a="I am a boy!"; char *b="you are student!";b=a;printf("\n%s",a); printf("\n%s\n",b);}
回复

使用道具 举报

千问 | 2009-9-16 21:26:56 | 显示全部楼层
a++,b++;a="I am a boy!";b="you are student!",它们怎么++?
回复

使用道具 举报

千问 | 2009-9-16 21:26:56 | 显示全部楼层
你没有分配存储空间,a、b指针指向const值,const值不可更改。
回复

使用道具 举报

千问 | 2009-9-16 21:26:56 | 显示全部楼层
把语句改为for(;*a!='\0';*a++,*b++);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行