设有定义int a=0,b=0,t;,则执行语句:t = a++&&++b;后,a和b的值是( ).
3个回答
展开全部
a=1,b=0
计算过程如下:
t = a++&&++b 等价于:t=a,a=a+1=1
由于a++,a在前,先用后自增
a=0,并且用是“&&”
前面的表达式先用a=0,为假。
所以不会执行++b,所以b也等于0,t=0。
扩展资料:
使用printf输出int占用字节数量:
printf("%d",sizeof(int));
除了int类型之外,还有short、long、long long类型可以表示整数。
unsigned int 表示无符号整数,数据范围为[0~2^32-1]。
展开全部
t
=
a++&&++b
等价于:
t=a
a=a+1=1
由于a++,a在前,是先用后自增,a=0,并且用是“&&”,而前面的表达式先用
a=0,为假。所以不会执行++b,所以b也等于0,t=0
所以最后答案应该是t=0,a=1,b=0吧?
=
a++&&++b
等价于:
t=a
a=a+1=1
由于a++,a在前,是先用后自增,a=0,并且用是“&&”,而前面的表达式先用
a=0,为假。所以不会执行++b,所以b也等于0,t=0
所以最后答案应该是t=0,a=1,b=0吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是由++放的位置决定的:比如
b=++a(a=1)则运行后b=2,a=2;
b=a++(a=1)则运行后b=1,a=2;
b=++a(a=1)则运行后b=2,a=2;
b=a++(a=1)则运行后b=1,a=2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询