| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3393 人关注过本帖
标题:strcpy字符数组和字符串常量
只看楼主 加入收藏
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
结帖率:22.22%
收藏
已结贴  问题点数:6 回复次数:13 
strcpy字符数组和字符串常量
char ch[] = "abcd"

strcpy(ch,string);
正确.
char *ch = "abcd;

strcpy(ch,string);
错误!
为什么呢?
搜索更多相关主题的帖子: 字符串 
2012-12-18 22:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
究竟是为什么呢   这种帖子  太多多了

拜托你先搜一艘  再提问

DO IT YOURSELF !
2012-12-18 22:27
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
收藏
得分:1 
char *ch = "abcd";
指向的是静态内存,不能更改内容

I have not failed completely
2012-12-18 22:50
轩志
Rank: 1
等 级:新手上路
帖 子:13
专家分:1
注 册:2012-12-16
收藏
得分:1 
#include<stdio.h>
int mystrcpy(char *p,char *q)
{
        while(*(p++)=*(q++));
        return 0;
}
int main()
{
        char s1[]="hello,";
        char s2[]="world";
        mystrcpy(s1,s2);
        puts(s1);
        getchar();
        return 0;
}



好好学习,一定会学好的
2012-12-18 22:50
轩志
Rank: 1
等 级:新手上路
帖 子:13
专家分:1
注 册:2012-12-16
收藏
得分:0 
char *ch = "abcd;
strcpy(ch,string);
指针是一个地址,ch定义的是一个指针变量, 指向你想要的的那个地址

好好学习,一定会学好的
2012-12-18 22:54
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
收藏
得分:0 
回复 5楼 轩志
char *ch = "string"
ch不是"string"的首地址吗?和字符数组的情况一样的呀。
2012-12-18 23:58
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:1 
回复 6楼 l_0121
对啊,但是你知道"string"这个字符串它放在哪里吗?它放在一个不能修改的只读存储区里,你修改它,当然错了。

My life is brilliant
2012-12-19 00:10
l_0121
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2012-12-6
收藏
得分:0 
回复 7楼 lz1091914999
char ch[] = "abcd";
ch不是也存放的是首地址吗;为什么它就能修改呢?
2012-12-19 00:28
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
ch是一个字符数组啊,它有5个元素,和你在函数里定义的变量一样在栈里。控制权在你手里。

My life is brilliant
2012-12-19 00:36
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:1 
char *ch="abcd";指向的是常量,不可更改,也不能copy;
char ch[]="abcd";是数组,数组是变量,可以更改;
归根结底就是存储的位置不一样
2012-12-19 09:42
快速回复:strcpy字符数组和字符串常量
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017703 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved