首页>

int a=1 ;(a++)(++a)的值是多少?怎么算

时间:2020-07-12 10:48:50 /人气:929 ℃
int a=1 ;(a++)(++a)的值是多少?怎么算

来自goodfullhouse的回答:

int a=1 ;(a++)*(++a)的值是3(a++):a先参与运算后,a的值再自增1(++a):a先自增1后再参与运算(a++)*(++a):a的初始值=1,(a++)a= 1参与运算,a的值自增1后等于2(++a)a的值自增1后等于3,再参与运算所以(a++)*(++a) = 1*3 = 3(a++)*(a++)= 1*2=2; (a++)a= 1参与运算,a的值自增1后等于2(a++)a= 2参与运算,a的值自增1后等于3(++a)*(a++)=2*2=4; (++a)a的值自增1后等于2,再参与运算(a++)a= 2参与运算,a的值自增1后等于3(++a)*(++a)=2*3=6; (++a)a的值自增1后等于2,再参与运算(++a)a的值自增1后等于3,再参与运算

来自斩天及的回答:

  首先++i是“先”自增、“后”执行;i++是“先”执行、“后”自增;  这里所谓的“先”、“后”,对于不同的编程语言意义不同——在C语言中所谓的“先”“后”是相对于一条完整的语句而言的。也就是说,在C语言中,++i是在整条语句执行之前“先”自增,“后”执行整条语句;而i++是“先”执行完整条语句、“后”自增。  明白了这个问题,再来看你的问题:  1、先看前面的“(a++)”,是需要等执行完整条语句,也就是直到遇到后面的分号才将a的值增加1;  2、再看后面的(++a),是需要在整条语句执行之前,也就是上一个语句“int a=1;”之后就直接把a的值加1,而不是等执行了*前面的半条语句“(a++)”后才自增。  注意理解:“先”、“后”是相当于一条完整的C语句而言的,而不是以那个乘号为准的!  明白了这个道理,那么(a++)*(a++)就是1,(++a)*(a++)或(a++)*(++a)就是4,(++a)*(++a)就是9,

来自听不清啊的回答:

(a++)*(++a)的值是1*3=3



赢咖平台1956注册_葡京娱乐登录官网_牡蛎知识问答大全|网站地图