赋值运算符“=”和strcpy在赋值时有什么区别
答案:5 悬赏:40
解决时间 2021-01-29 15:49
- 提问者网友:无依无靠的距离
- 2021-01-29 04:16
赋值运算符“=”和strcpy在赋值时有什么区别
最佳答案
- 二级知识专家网友:猖狂的痴情人
- 2021-01-29 05:13
假如左值是char * str的话用=,例如char *str ="abc";因为“abc”在代码区,不可改变,如果试图用strcpy就是试图改变代码区的数据,出错。
但是假如左值是char str[100]的话,由于是一个字符数组,就必须要strcpy了,应为str是数组名,不可改变,只能改变str指向的内容。
这样说楼主能明白么!
但是假如左值是char str[100]的话,由于是一个字符数组,就必须要strcpy了,应为str是数组名,不可改变,只能改变str指向的内容。
这样说楼主能明白么!
全部回答
- 1楼网友:零负荷的放任
- 2021-01-29 08:33
区别不大,strcpy简单一些,一句话就搞定
但是=要用for循环,最后别忘了把'\0'赋值进去,呵呵
- 2楼网友:气场征服一切
- 2021-01-29 07:01
C语言不允许把一个数组的内容赋给另一个数组,即使用赋值运算符“=”,为了简便就有了strcpy函数。比如数组S1和S2,你如果想把S2的内容复制到S1中,不能“S1=S2 “,因为S1和S2指的是数组首地址。可以用strcpy(S1,S2),也可以用循环语句把S2中的元素一个一个赋给S1,但这样就麻烦了。
- 3楼网友:输掉的尊严
- 2021-01-29 06:43
strcpy仅用于字符串赋值,非数组类型赋值用=。
字符串以外的数组类型赋值必须逐个元素赋值
- 4楼网友:一场云烟
- 2021-01-29 06:16
区别不大,strcpy简单一些,一句话就搞定
但是=要用for循环,最后别忘了把'\0'赋值进去,呵呵
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯