为什么Visual C++中int 最大值b = 3/2 + 0.5;b的值为1

若有如下定义:int a=1,b=2,c=3;执行语句 b=(a&4)&&(b&a)&&(c++);之后,c的值是_百度知道
若有如下定义:int a=1,b=2,c=3;执行语句 b=(a&4)&&(b&a)&&(c++);之后,c的值是
提问者采纳
3。判断是从左向右,前面的可以判断的话后面的不执行。表达式a&4值为1,但表达式b&a值为畅础扳飞殖读帮嫂爆讥0,中间位与运算,则值为0,不必再执行后面的c++,就可判断整个表达式值为0,所以c++不执行,c值为3.
提问者评价
太感谢了,真心有用
其他类似问题
按默认排序
其他3条回答
还是3,畅础扳飞殖读帮嫂爆讥因为到b&a就已经确定了这个(a&4)&&(b&a)&&(c++)东西的真值为假,(c++)不执行。
他先回答的哦。。谢谢
随意吧。。其实是我先回答的。。。
。。。。。我再问一个你去回答吧
执行后 c 的值是 4 啊;在这个语句里用的 c++ 先返回 c 的初始值3
C的值是4,c++(c=c+1)开始c=3,所以c的值是4!
额,我傻了,你是在判断。所以C++没执行。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Microsoft Visual C++ 写1-1/2+1/3+……+1/99-1/100求指导用for循环写的对不对_百度知道
Microsoft Visual C++ 写1-1/2+1/3+……+1/99-1/100求指导用for循环写的对不对
printf(&quot,i=-1;
for(a=1;n&a);=100;
double sum=0;;a++)
b=i*(1&#47,b;a&lt,sum);
sum=sum+b;%f&#92main(){
提问者采纳
i=i*(-1);a&lt.h&;main(){
sum=sum+b,i=-1.0&#47#include&n&a),b;%f\=100;
printf(&quot,sum);
double sum=0
for(a=1;a&=100;a++){
b=i*(1.0/a);
sum=sum+b;
}这段循环体如果把花括号去掉后面只能跟一个运算式?老师讲的循环体按for后第一个;前面的算 for(a=1;a&=100;a++)
b=i*(1/a)
sum=sum+b;为什么不行啊?
for的循环体或者是一个语句,或者是{}限定的多条语句。如果你想让for(a=1;a&=100;a++)
b=i*(1/a)
sum=sum+b;编译通过,而且不用{}的话,改成逗号表达式就可以了。for(a=1;a&=100;a++)
b=i*(1/a),
sum=sum+b;
提问者评价
明白了 真心感谢!!!
其他类似问题
for循环的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在c语言中int a=2,b=3,c=6,m; (a=c&b)=1 a&&!c=0 b/a*2.0=2 为什么m=((a=c&b)+(a&&!c)+b/a*2.0)=7?_百度知道
在c语言中int a=2,b=3,c=6,m; (a=c&b)=1 a&&!c=0 b/a*2.0=2 为什么m=((a=c&b)+(a&&!c)+b/a*2.0)=7?
提问者采纳
(a=c&b)意思是先a=c,所以a=6。后面比较a&b。所以(a=c&b)的值为0.(a&&!c)的值为0。很简单b穿缉扁垦壮旧憋驯铂沫/a*2.0的值为6.所以总体是6.个人见解,没有跑程序验证
提问者评价
其他类似问题
按默认排序
其他2条回答
你确定你对这两个左值赋穿缉扁垦壮旧憋驯铂沫值没问题?a&&!c=0;b/a*2.0=2;
(a=c&b)=1这样语法会有问题的
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 java int 最大值 的文章

 

随机推荐