求解c语言中的一个问题 *to ++ = *from++;

[复制链接]
查看11 | 回复3 | 2013-2-26 22:53:23 | 显示全部楼层 |阅读模式
先搞清楚*和++的优先级,*的优先级比++要高。其次,在进行赋值运算的时候是从右向左进行的,故应该是行执行*from(即取值),将*from的值付给*to,然后from++,to++;最后当*form==‘\0’时,推出循环。这个语句的出处是在strcpy的源代码中,你也可以多看一下有关字符串的原代码,对这些语句将有更深刻的认识。...
回复

使用道具 举报

千问 | 2013-2-26 22:53:23 | 显示全部楼层
++在后是等语句执行完后变量再++,所以这句分解开就是:*to = *from;to++;from++;...
回复

使用道具 举报

千问 | 2013-2-26 22:53:23 | 显示全部楼层
*to ++ = *from++分开写就是:*to=*from;to++;from++;清楚了吧?...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行