C语言问题:为什么直接赋值是对的,用strcpy函数却错了?

 我来答
小菜鸟2无聊写代码
2019-11-21 · TA获得超过1058个赞
知道小有建树答主
回答量:932
采纳率:87%
帮助的人:166万
展开全部
c语言里存储字符串的方法是使用以'\0'结尾一个连续内存空间的起始地址,这样,strcpy会把后面的字符串(直到'\0'的字符)全部拷贝到前面的地址上,而这样很难与前面直接赋值的原意相同。
char a[5]
0 1 2 3 4
h e l l o \0
strcpy(a+0,a +1)
e l l o \0 \0
a[0]=a[1]
e e l l o \0
追问
大哥,看看我的代码再回答问题好吗。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式