设有int变量i,j,k,其值分别为1,2,3
执行表达式后:i++==1&&(++j==3||k++=3)表达式值为__1__,i的值为___2____,j的值为___3____,k的值为__3_____,求解析...
执行表达式后:
i++= =1&&(++j= =3||k++=3)
表达式值为__1__, i的值为___2____, j的值为___3____, k的值为__3_____,
求解析 展开
i++= =1&&(++j= =3||k++=3)
表达式值为__1__, i的值为___2____, j的值为___3____, k的值为__3_____,
求解析 展开
展开全部
根据C的运算顺序
第一步运算括号内的程序
括号内先运行++ --顺序是由右向左
算后 j=3;k=4 (注:J=3是最后结果,K=4不是最后结果,下面还有赋值运算)
然后运算==
得到结果 1||k=3
再预算||
得到(++j= =3||k++=3)表达试为1
最后进行 = 赋值预算所以K=3 (注:K=3是最后结果)
第二步根据第一步预算得到表达式 i++==1&&1
先进行++ --运算
i=2 (注:I=2是最后结果)
再行进==预算
得到表达式0&&1
最后得到表达式的值为0
与你的结果不太一致,提供参考。下边是C语言的运算顺序,可以根据这个来运算。
C语言运算符分类
1级(左结合)
() 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。
2级(右结合)
!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址运算符;sizeof长度运算符。
3级(左结合)
*乘法运算符;/除法运算符;%取余运算符。
4级(左结合)
+加法运算符;-减法运算符。
5级(左结合)
<<左移运算符;>>右移运算符。
6级(左结合)
<、<=、>、>=关系运算符。
7级(左结合)
==等于运算符;!=不等于运算符。
8级(左结合)
&按位与运算符。
9级(左结合)
^按位异或运算符。
10级(左结合)
|按位或运算符。
11级(左结合)
&&逻辑与运算符。
12级(左结合)
||逻辑或运算符。
13级(右结合)
? :条件运算符。
14级(右结合)
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
15级(左结合)
,逗号运算符。
第一步运算括号内的程序
括号内先运行++ --顺序是由右向左
算后 j=3;k=4 (注:J=3是最后结果,K=4不是最后结果,下面还有赋值运算)
然后运算==
得到结果 1||k=3
再预算||
得到(++j= =3||k++=3)表达试为1
最后进行 = 赋值预算所以K=3 (注:K=3是最后结果)
第二步根据第一步预算得到表达式 i++==1&&1
先进行++ --运算
i=2 (注:I=2是最后结果)
再行进==预算
得到表达式0&&1
最后得到表达式的值为0
与你的结果不太一致,提供参考。下边是C语言的运算顺序,可以根据这个来运算。
C语言运算符分类
1级(左结合)
() 圆括号;[]下标运算符;->指向结构体成员运算符;. 结构体成员运算符。
2级(右结合)
!逻辑非运算符;~按位取反运算符;++前缀增量运算符;--前缀减量运算符;+正号运算符;-负号运算符;(类型)类型转换运算符;*指针运算符;&地址运算符;sizeof长度运算符。
3级(左结合)
*乘法运算符;/除法运算符;%取余运算符。
4级(左结合)
+加法运算符;-减法运算符。
5级(左结合)
<<左移运算符;>>右移运算符。
6级(左结合)
<、<=、>、>=关系运算符。
7级(左结合)
==等于运算符;!=不等于运算符。
8级(左结合)
&按位与运算符。
9级(左结合)
^按位异或运算符。
10级(左结合)
|按位或运算符。
11级(左结合)
&&逻辑与运算符。
12级(左结合)
||逻辑或运算符。
13级(右结合)
? :条件运算符。
14级(右结合)
=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。
15级(左结合)
,逗号运算符。
展开全部
等等,这个题有问题
k++=3
这里k++不是左值表达式,编译时就会出错
k++=3
这里k++不是左值表达式,编译时就会出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要给定i,k,j的数值才可以帮你解决问题的,我给答案你,你只要把对应的数值带进去就可以了
表达式值为__1__, i的值为___i+1____, j的值为___j+1____, k的值为__k+1_____,
因为还没有i,k,j的值,所以第一问还不能解决
表达式值为__1__, i的值为___i+1____, j的值为___j+1____, k的值为__k+1_____,
因为还没有i,k,j的值,所以第一问还不能解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询