<p>
<div> 品(466291086) 11:08:35 <br /><span style="font-family: mceinline;"><strong> a=4;(a++) += a ; 求a</strong></span><br />(本消息由该成员通过手机QQ发送,体验手机QQ请登录: http://mobile.qq.com/c ) <br />ITGrit[C/C++ MFC](286715286) 11:09:13 <br />9<br />【提示:此用户正在使用WebQQ:http://web.qq.com/】 <br />秦伟(871452271) 11:09:14 <br />9?<br />ITGrit[C/C++ MFC](286715286) 11:09:22 <br />呵呵 <br />品(466291086) 11:09:28 <br />额饿 <br />品(466291086) 11:09:35 <br />高手 <br />cuiwow(157808076) 11:09:40 <br />这个不是要看具体编译器么..?<br />品(466291086) 11:09:44 <br />再来个 <br />ITGrit[C/C++ MFC](286715286) 11:09:47 <br />? <br />品(466291086) 11:09:52 <br /><img src="file:///D:/temp/S-1-5-~1/temp/PV(SCAJM1FB~YMS%2L}R5JU.gif" alt="" /> <br />lander(530468003) 11:09:51 <br />搞这么复杂<br />ITGrit[C/C++ MFC](286715286) 11:10:04 <br />群里是不是好几天没人说话了 <br />ITGrit[C/C++ MFC](286715286) 11:10:05 <br />哈哈 <br />踏雪无痕(348259989) 11:10:23 <br />我也觉的得看编译器<br />ITGrit[C/C++ MFC](286715286) 11:10:27 <br />放5.1群里也都放假了 <br />ITGrit[C/C++ MFC](286715286) 11:10:32 <br />为什么 <br />品(466291086) 11:10:37 <br /> (++a) += (a++);<br />a = ? <br />品(466291086) 11:10:49 <br /><img src="file:///D:/temp/S-1-5-~1/temp/AV5W2LR]H5YAQXT}1N2LPDY.gif" alt="" /> <br />ITGrit[C/C++ MFC](286715286) 11:11:03 <br />阴险,哈哈 <br />品(466291086) 11:11:06 <br />哈哈哈 <br />品(466291086) 11:11:21 <br /> (++a) += (a++);<br />a = ? <br />醉里笑紅尘□(464469131) 11:11:59 <br />刚才你的那个题结果怎么是9啊 ??<br />ITGrit[C/C++ MFC](286715286) 11:12:00 <br />10 <br />醉里笑紅尘□(464469131) 11:12:09 <br />怎么算的??<br />ITGrit[C/C++ MFC](286715286) 11:12:09 <br />? <br />醉里笑紅尘□(464469131) 11:12:13 <br />可否赐教??<br />品(466291086) 11:12:30 <br />4+4+1 <br />醉里笑紅尘□(464469131) 11:12:46 <br />能具体点吗??<br />品(466291086) 11:13:07 <br />这个答案 (++a) += (a++);<br />a = ?多少啊 <br />ITGrit[C/C++ MFC](286715286) 11:13:09 <br />从右向左求值 <br />ITGrit[C/C++ MFC](286715286) 11:13:26 <br />10? <br />品(466291086) 11:13:29 <br />我用的手机 哥哥 <br />品(466291086) 11:13:33 <br />哈哈哈 <br />品(466291086) 11:13:36 <br /><img src="file:///D:/temp/S-1-5-~1/temp/AV5W2LR]H5YAQXT}1N2LPDY.gif" alt="" /> <br />醉里笑紅尘□(464469131) 11:13:55 <br />但是我实在不懂啊!<br />品(466291086) 11:13:57 <br />先看看对不 这个题 <br />品(466291086) 11:14:06 <br /><img src="file:///D:/temp/S-1-5-~1/temp/AV5W2LR]H5YAQXT}1N2LPDY.gif" alt="" /> <br />lander(530468003) 11:14:22 <br />好无聊啊<br />品(466291086) 11:14:33 <br />等我下课 单m <br />品(466291086) 11:14:51 <br />呃呃<img src="file:///D:/temp/S-1-5-~1/temp/]F{S%KHON132NOE`VB([Z[2.gif" alt="" /> <br />品(466291086) 11:15:37 <br />下了 看老师无聊<img src="file:///D:/temp/S-1-5-~1/temp/52W[C~~FFQ[27)18U93ZOWB.gif" alt="" /> <br />ITGrit[C/C++ MFC](286715286) 11:16:02 <br />上当了 <br />品(466291086) 11:16:19 <br />呵呵 <br />cuiwow(157808076) 11:16:55 <br />表达式可以当左值么?<br />ITGrit[C/C++ MFC](286715286) 11:17:15 <br />a++ 返回是有值 <br />ITGrit[C/C++ MFC](286715286) 11:17:21 <br />悲剧 <br />cuiwow(157808076) 11:17:38 <br />呃 是么<br />品(466291086) 11:17:42 <br /><img src="file:///D:/temp/S-1-5-~1/temp/S)YLEQANPE}LG]K8ZBSL6IU.gif" alt="" /> <br />品(466291086) 11:18:01 <br />还是这牛 <br />品(466291086) 11:18:14 <br />怎么可以呢 <br />ITGrit[C/C++ MFC](286715286) 11:21:25 <br />++a返回的也不是左值? <br />ITGrit[C/C++ MFC](286715286) 11:21:42 <br />??? <br />cuiwow(157808076) 11:21:55 <br />表达式不都是右值么<br />ITGrit[C/C++ MFC](286715286) 11:22:18 <br />哦?那我搞错了 <br />醉里笑紅尘□(464469131) 11:23:21 <br />右值左传!</div>
<div></div>
<div></div>
<div></div>
<div><strong>那么什么是左值和右值呢</strong></div>
<div></div>
<div></div>
<div><span>
<p> 通俗的讲,左值就是能够出现在赋值符号左面的东西,而右值就是那些可以出现在赋值符号右面的东西了。</p>
<p>举个很简单的例子:</p>
<p>a=b+100;</p>
<p>那么这里a就是左值,b+25就是一个右值。左值和右值之间是不一定都能互换的,上面的这个例子就是不能互换的,如果写成</p>
<p>b+100=a;</p>
<p>大家都能看出来这样写会不编译通过的,因为编译器无法判断b+100的内存地址,所以不能操作。</p>
<p>看了这个例子,可以做一个总结,左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。</p>
<p>关于左值是表达式的例子有数组,还有指针这些都可以。</p>
<p>int array[10];</p>
<p>int a=5;</p>
<p>array[a+3]=10; //这里左值就是一个数组表达式了</p>
<p> </p>
<p> </p>
<p><span><span style="font-family: mceinline;">
<p>另外:<a id="AjaxHolder_Comments_CommentList_ctl03_NameLink" target="_blank">liotta</a>朋友给了一些其他方面的提示 (左值右值翻译可能有些问题)</p>
<div><strong>错了,没有什么左值和右值!<br />翻译害人不浅,</strong><br />L-value中的L指的是Location,表示可寻址。The "l" in lvalue can be though of as location<br />R-value中的R指的是Read,表示可读。The "r" in rvalue can be thought of as "read" value. </div>
</span></span></p>
</span></div>
</p>