大家讨论讨论优先级问题提问: DWORD d=0x000000FF;
if(d & 0xFF000000 ==0)
return true;
else
return false; 请问最后return 值是什么,为什么?
解决方案 »
- mshflexgrid合并单元格??
- Cookbook 是什么意思?
- error C2664: '_snprintf_s' : cannot convert parameter 3 from 'const char [4]' to
- DLL中使用API编译错误
- www.codeproject.com网站的源代码怎么下?
- VB版的小弟在VC版紧急求助!!!!
- 关于VC程序与WEB服务器通讯的问题,急待解决,请大家帮我!!!
- 如何将CListCtrl中的某一行滚动到可视范围内
- 进程标识问题
- 用ReadFile读匿名管道时如何判断管道内数据都被读出?
- 知道视图中要显示400*300像素,怎么获得整个窗口大小。先谢过大家!
- 怎么在已经生成两个CPropertyPage的基础上调用完一个exe程序后再添加多一个CPropertyPage啊?
你试过了吗?再问:DWORD d=0xFF000000;
if(d & 0xFF000000 ==0)
return true;
else
return false; 请问最后return 值是什么,为什么?
. [] () Field access, array indexing, function calls, and expression grouping
++ -- - ~ ! delete new typeof void Unary operators, return data type, object creation, undefined values
* / % Multiplication, division, modulo division
+ - + Addition, subtraction, string concatenation
<< >> >>> Bit shifting
< <= > >= instanceof Less than, less than or equal, greater than, greater than or equal, instanceof
== != === !== Equality, inequality, strict equality, and strict inequality
& Bitwise AND
^ Bitwise XOR
| Bitwise OR
&& Logical AND
|| Logical OR
?: Conditional
= OP= Assignment, assignment with operation
, Multiple evaluation
VC6没有警告,我用的是2005。我平时写成都是把关系运算符两端的表达式加括号的,所以不会遇到这个问题。
相当于 d & (d==0)
由于d不等于0,(d==0)=0
(d & 0)=0
最终结果是:
if(0)
return true;
else
return false;
与vc的版本没有关系,将警告级别的编译选项改成/W3就看到了。这是因为==优先级高于&
题外话1:若干年前我背下了所有c标准库函数及其参数原型,现在忘光了,要用还得借助文档。
题外话2:如果再要我去参加高考,我肯定考不上,大专也考不上。
题外话3:以前学的java、cb,现在只剩下几个概念还有印象。