设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
c语言程序问题
返回列表
发新帖
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++);
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行