| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 528 人关注过本帖
标题:新手求解答:一个关于不清楚的问题,谢谢解答!!
只看楼主 加入收藏
键盘农夫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:88
专家分:106
注 册:2011-5-5
收藏
得分:0 
回复 10楼 RanDomFun
*&(char)i这个表达式可以解析成
*  ( & ( (char) i) )
这里(char) i是一个类型转换表达式
但是这个表达式并不是左值
所以对这个表达式做 & 运算是非法的
就如同你不能写 &( i + 1 )一样
但由于* &是互逆的运算
比如 int i;  
*&i其实就是i
所以TC的编译器似乎就直接把它们一起忽视了
这样*  ( & ( (char) i) ) 就被简化成了(char)i
但这种简化的前提是表达式合法,例如 * & i
而*  ( & ( (char) i) ) 本身并不合法

《狂人C:程序员入门必备》
2011-05-19 18:38
快速回复:新手求解答:一个关于不清楚的问题,谢谢解答!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066537 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved