C语言中 在赋值的时候 比如 npos=i; 我把I的值给了NPOS,但是我还想把那个值保留在I中,怎么弄,谢谢

[复制链接]
查看11 | 回复5 | 2011-11-9 10:40:25 | 显示全部楼层 |阅读模式
不要再给I赋值就行了,但你的I不能是循环用的值,如for(i=0;i++,i<10)这种语句,I的值是变的,就没法保存了。...
回复

使用道具 举报

千问 | 2011-11-9 10:40:25 | 显示全部楼层
本身i的值一直都在那里的,值没有丢掉。你这样操作后。比如 i = 5;npos=i;那么你这样赋值后;结果为npos=5;i=5;两个都有值了。...
回复

使用道具 举报

千问 | 2011-11-9 10:40:25 | 显示全部楼层
c语言中,赋值表达式的右值不会改变。赋值就是把右值(或右表达式的值)拷贝到左值对应的内存中,右值对应的内存没有改变(右表达式的话,在此不做讨论)。...
回复

使用道具 举报

千问 | 2011-11-9 10:40:25 | 显示全部楼层
npos=i;是把i的值复制给npos,而不是剪切的,i的值没变...
回复

使用道具 举报

千问 | 2011-11-9 10:40:25 | 显示全部楼层
右值赋给左值 也就是把I给了 NPOS但是I本身的值是不会变的...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行