|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ strcpy函数编写
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3188
人关注过本帖
标题:
strcpy函数编写
只看楼主
加入收藏
iqyuankong
等 级:
论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
结帖率:
92.86%
楼主
收藏
已结贴
√
问题点数:20 回复次数:8
strcpy函数编写
这个代码怎么运行不了啊!
#include<stdio.h>
void main()
{
char *s1="abcd",*s2="efg";
int i;
for(i=0;s2[i];i++)
/* 当s2[i]='\0'停止拷贝*/
s1[i]=s2[i];
s1[i]=0;
puts(s1);
}
[
本帖最后由 iqyuankong 于 2010-3-14 12:15 编辑
]
搜索更多相关主题的帖子:
编写
函数
strcpy
2010-03-14 12:00
举报帖子
使用道具
赠送鲜花
saro
等 级:
新手上路
帖 子:19
专家分:7
注 册:2010-3-13
第
2
楼
收藏
得分:0
for(i=0;
s2[i];
i++)
什么意思?
2010-03-14 12:03
举报帖子
使用道具
赠送鲜花
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
3
楼
收藏
得分:0
#include<stdio.h>
void main()
{
char s1[]="abcd",*s2="efg";
int i;
for(i=0;s2[i];i++)
/* 当s2[i]='\0'停止拷贝*/
s1[i]=s2[i];
s1[i]=0;
puts(s1);
}
这样就行了
我就是真命天子,顺我者生,逆我者死!
2010-03-14 12:16
举报帖子
使用道具
赠送鲜花
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
4
楼
收藏
得分:0
char s1[]="abcd",s2[]="efg";
要确保目的数组的空间大于等于源数组字符个数(包括0)
2010-03-14 12:21
举报帖子
使用道具
赠送鲜花
hzh512
等 级:
蜘蛛侠
威 望:
6
帖 子:234
专家分:1333
注 册:2009-6-5
第
5
楼
收藏
得分:0
ANSI
C明确说明:修改字符串常量,效果是未定义的。编译器不同处理是不同的,一般按常量无法修改来判。
如果必须修改字符串,只需要定义字符串变量,而不是字符串常量。可以用数组的方式定义char s1[]
=
“abccd”;;这样,在程序中就可以修改字符串了。
编程=用几种语言在某个或几个平台上通过抽象思维运用一系列算法来解决现实中问题的手段
2010-03-14 12:30
举报帖子
使用道具
赠送鲜花
iqyuankong
等 级:
论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
第
6
楼
收藏
得分:0
回复 3楼 BlueGuy
我也试过了是数组就可以,,为什么指针不行。
2010-03-14 12:36
举报帖子
使用道具
赠送鲜花
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
7
楼
收藏
得分:20
char *s1="abcd",*s2="efg";
此时的"abcd","efg"字符串存放在只读数据段内,s1,s2指向它们的首地址,但你要更改它们的内容时,也就是要更改只读数据段内的东西了,当然是不行的了,但是我们可以读它们
2010-03-14 12:45
举报帖子
使用道具
赠送鲜花
hzh512
等 级:
蜘蛛侠
威 望:
6
帖 子:234
专家分:1333
注 册:2009-6-5
第
8
楼
收藏
得分:0
7楼解释的很正确,我也想把汇编代码贴出来,但他是新手,没办法
.file
"strcpy.c"
.section
.rodata
这个就是只读数据段(reas only data)
.LC0:
.string
"abcd"
.LC1:
.string
"efg"
.text
.globl main
.type
main, @function
main:
leal
4(%esp), %ecx
andl
$-16, %esp
编程=用几种语言在某个或几个平台上通过抽象思维运用一系列算法来解决现实中问题的手段
2010-03-14 13:21
举报帖子
使用道具
赠送鲜花
psv
等 级:
论坛游民
帖 子:21
专家分:54
注 册:2010-3-3
第
9
楼
收藏
得分:0
不宜才有指针,实现strcpy应该使用数组比较好
对赋予了字符串的指针赋值是错误的,指针指向的内容是不可改变的是存储在只读区域的 ,最好自己编写一个函数
void New_strcpy( char str[] ,char dstrp[])
// 在函数中,编译器一般实现了数组到指针的一个转变
[
本帖最后由 psv 于 2010-3-15 19:20 编辑
]
2010-03-15 19:14
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
strcpy函数编写
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.043140 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved