我的strcpy程序错在哪里啊?谢谢

zxwitsme 2003-11-19 11:50:17
int strcpy(char *des,char *res)
{
while(*(des++)=*res++!='\0')
;
return 1;
}
...全文
74 13 打赏 收藏 举报
写回复
用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
  • 打赏
  • 举报
回复
好贴,高手就是多~
代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建一个完整的1元云购系统。 在构建1元云购源代码的过程中,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、中奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算中奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...

70,040

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧