永发信息网

int a=1,i=a+1;do{a++;}while(!~i++>3);最后输出的a是多少

答案:2  悬赏:0  手机版
解决时间 2021-01-28 02:23
  • 提问者网友:我是女神我骄傲
  • 2021-01-27 12:32
int a=1,i=a+1;do{a++;}while(!~i++>3);最后输出的a是多少
最佳答案
  • 五星知识达人网友:深街酒徒
  • 2021-01-27 14:12
a的值是:2
顺序执行下去,a=2,然后去判断条件,条件可以理解为 while( !(~i++)>3),i=2,逐位取反之后为253>3,所以表达式值为1,在取非,所以为0.所以循环就跳出了。a的值也就是2了。
全部回答
  • 1楼网友:醉吻情书
  • 2021-01-27 15:44
(!~i++>3 运算符优先级: !,~,++ 一样,高于 > a初值1,i 初值 2 第一次循环, do a++; a 变 2 条件i++ 是后缀 加,表达式里 仍为 2. ~2 (0000 0010 变
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯