在char指针上使用strcpy时程序会中止? (在char数组上工作正常)
发布时间:2020-12-16 07:50:05 所属栏目:百科 来源:网络整理
导读:我很困惑,为什么以下不起作用: char * f = "abcdef";strcpy(f,"abcdef");printf("%s",f);char s[] = "ddd";strcpy(s[0],"eee");printf("%s",s); 在两个例子中,strcpy都收到一个char *,但在第一个例子中,它死了一个可怕的死亡. 解决方法 “abcdef”和“ddd”
我很困惑,为什么以下不起作用:
char * f = "abcdef"; strcpy(f,"abcdef"); printf("%s",f); char s[] = "ddd"; strcpy(&s[0],"eee"); printf("%s",s); 在两个例子中,strcpy都收到一个char *,但在第一个例子中,它死了一个可怕的死亡. 解决方法
“abcdef”和“ddd”是可能驻留在地址空间的只读部分的字符串文字. char s [] =“ddd”确保这个文字被复制到堆栈 – 所以它是可修改的.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- XML fragments parsed from previous mappers already cont
- cocos2d-x3.2中在Eclipse中java.lang.NullPointerException
- Cassandra-Cluster-Admin
- 详解正则表达式及Linux三大文本处理工具
- vb发送邮件接收邮件vba邮箱操作方法
- flex的event
- ruby-on-rails – 在多台机器上使用delayed_job,其中一些任
- xml – 在XSLT / XPath中选择唯一记录
- c# – 如何从当前执行的方法中获取BackgroundWorker的实例?
- XML-----1、XML简介