社区
C语言
帖子详情
我的strcpy程序错在哪里啊?谢谢
zxwitsme
2003-11-19 11:50:17
int strcpy(char *des,char *res)
{
while(*(des++)=*res++!='\0')
;
return 1;
}
...全文
43
13
打赏
收藏
我的strcpy程序错在哪里啊?谢谢
int strcpy(char *des,char *res) { while(*(des++)=*res++!='\0') ; return 1; }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
晨星
2003-11-19
打赏
举报
回复
赋值运算符优先级低于关系运算符,所以你的
*des++ = *res++! = '\0'
相当于:
*des++ = (*res++!='\0');
应改为:
(*des++ =*res++) != '\0';
此外,++的优先级本来就比*高,这里没必要加括号。
但注意,++的优先级高并不代表*des++返回的是++后的内容,优先级高仅仅意味着可以不加括号,而并不意味着后自增的语义——返回自增前的值——会改变。
sunliwen780502
2003-11-19
打赏
举报
回复
int strcpy(char *dest, const char *src)
{
while(*src!='\0')
{
*dest = *src;
*dest++;
*src++;
}
*dest = '\0';
return dest;
}
yonyon
2003-11-19
打赏
举报
回复
while(*(des++)=*res++!='\0')
改为
while((*(des++)=*res++)!='\0')
或
while(*(des++)=*res++)
要知道,!=的优先级高于赋值=
Meyer
2003-11-19
打赏
举报
回复
while(*(des++)=*res++!='\0')
赋值操作的优先级低于比较操作
你的句子拆开是
*(des++) = (*res++ != '\0')
还有是返回内型和常用的做法不同
不支持链式操作 如:
strlen(strcpy(destinct, src));
arfi
2003-11-19
打赏
举报
回复
while(*des++ = *res++); //这一句就够了
1cs1ak1
2003-11-19
打赏
举报
回复
int strcpy(char *des,char *res)
{
while(*(des++)=*res++)
;
*des = 0;
return 1;
}
ryyy
2003-11-19
打赏
举报
回复
int strcpy(char *des,char *res)
{
char *tmp = des;
assert( des != NULL && res != NULL );
while((*tmp++=*res++)!='\0')
;
return SUCCESS;
}
KeepCoding
2003-11-19
打赏
举报
回复
char * strcpy( char *des, const char *res)
{
char *tmp = des;
assert( des != NULL && res != NULL );
while ( (*des++ = *res++) == '\0' )
;
return tmp;
}
GR
2003-11-19
打赏
举报
回复
MARK
rexp
2003-11-19
打赏
举报
回复
你的优先级搞错了。
Meyer
2003-11-19
打赏
举报
回复
要是dest长度不够呢?
呵呵这是调用者的责任。
C++的哲学就是大家都是成年人,
都能对自己的事负责。
Nemo1314
2003-11-19
打赏
举报
回复
小弟有个问题!
要是dest长度不够呢?
ilovedonny
2003-11-19
打赏
举报
回复
好贴,高手就是多~
Frescare K21/cortex-M4,系列处理器Bootloader
本工程我原本打算用来移植ucoosiii 而建立的一个简洁的裸机
程序
,后来因为其他项目耽搁了,ucoss iii 部分移植还没有实现。 本裸机
程序
是采用gcc 编译(因为嵌入式开发大部分都是使用gcc 的,而且gcc开发需要我们...
【算法】C语言
程序
编程模拟实现strlen函数和
strcpy
函数
用c
程序
编程实现strlen函数和
strcpy
函数是代码新人对指针基础理解和运用的一个好方法,通过用代码实现strlen和
strcpy
函数可以很好地帮助我们在刚接触c代码时巩固我们自身对代码的理解和提高写代码的能力 库函数里面...
C语言编写
strcpy
函数
char *
strcpy
1(char *dest,char *src); int main(int argc, const char *argv[]) { char a[10]; char b4=“ttt”; char c[5]=“1234”; char *add1=
strcpy
1(a,“ttt”); puts(a); char *add2=
strcpy
1(a,c); printf(...
模拟实现string库函数下字符串拷贝函数
strcpy
()
今天来模拟实现
strcpy
()函数,该函数所实现的功能是拷贝字符...运行起来没什么问题,但是从软件工程的角度来看,该函数的
程序
健壮性太差,在使用中如果传给_Source为NULL时函数该如何处理?那么就有了以下函数: ...
memset ,memcpy 和
strcpy
的根本区别?
Memset 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘\0’; 例:char a[100];memset(a, '\0', sizeof(a)); memset可以方便的清空一个结构类型的变量或数组。
C语言
70,020
社区成员
243,264
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章