3个回答
展开全部
t值为1。
++x||--y 且x=y=z=1,对于或运算,只要第一项正确,后面的就不用去考虑。
++x运算后x变为2为真就不管--y的运行结果,这项表达式为1。
后面一项,&&++z,因为++运算优先等级大于&&
所以先计算++z,z计算后变为2,执行&&"且"运算。最后得出结果为1。
或:
if(x=y)
t =z
else
t=!baiz
if的判断条件是一个赋值表达式,赋值表达式的值为其=右边的值,也zhuan就是y,也就是0。
在c语言中0代表假false。所以if的条件不成立,不执行if下面的语句,而是执行else
的 t=!z语句。z=0,z表示假,!z表示真,转换为整型也就是1。
扩展资料:
定义整型变量的格式是
整数类型1个变量名或用逗号隔开的多个变量名
类似地,还可以定义 unsigned int 、 unsigned long 型的变量。
定义一个变量,意味着在内存中给这个变量分配了相应大小的存储空间,同时确定了这个变量值的存储方式和可以进行的操作。
参考资料来源:百度百科-整型变量
2011-08-10
展开全部
因为x=y=z=1
所以t=2 ||2 && 2
2 && 2=1
2 || 1=1
t=1
所以t=2 ||2 && 2
2 && 2=1
2 || 1=1
t=1
追问
求具体, 儿咋来的?
追答
语句序列“x=y=z=l;t=++x||++y&&++z;”使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1。
请采纳 打字累死我了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-10
展开全部
t=1
t=(++x) || (--y&&++z);
因为 x !=0 , 所以 (++x)为真,所以整个表达式为真
t=(++x) || (--y&&++z);
因为 x !=0 , 所以 (++x)为真,所以整个表达式为真
追问
意思是先运算(--y&&++z)?
追答
是的,&& 的优先级高于 ||
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询