关于C语言的问题.已知 int i = 5; 执行语句 i += ++i; i 的值是
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/24 08:45:26
关于C语言的问题.已知 int i = 5; 执行语句 i += ++i; i 的值是
关于这个问题,你一定要理解优先级的意义~
所谓优先级,就是在执行一个运算时的顺序,比如我们小时候学的先乘除,后加减,意思就是3+5*4这个式子我们是先算后面的5*4,那么如果有个括号,(3+5)*4,那么,就是先算3+5了,为什么?因为乘除法的优先级比加减法高,而括号的优先级又比乘除法要高~如果是相同优先级就是从左到右依次计算了
我们换到你这道题上,+=这个运算符的优先级比++这个运算符低,所以先算++这个运算符,关于这个自加运算符,有是一个考点,++i是先+1,再使用,而i++是先使用,后+1,考虑到你刚接触C语言不久,这条规则你先死记下来,以后慢慢就会明白~
i是5,加1变成6,+=运算符意思是这样的,比如x+=y,就是x=x+y,你也可以理解成把等号移到前面,然后再加一个最开始得字符`
现在我们看这道题目就简单了,i先加一再使用,就变成了6,i=i+i,这时候系统里的i已经是6了,所以就是6+6=12
啰啰嗦嗦说了这么多,
所谓优先级,就是在执行一个运算时的顺序,比如我们小时候学的先乘除,后加减,意思就是3+5*4这个式子我们是先算后面的5*4,那么如果有个括号,(3+5)*4,那么,就是先算3+5了,为什么?因为乘除法的优先级比加减法高,而括号的优先级又比乘除法要高~如果是相同优先级就是从左到右依次计算了
我们换到你这道题上,+=这个运算符的优先级比++这个运算符低,所以先算++这个运算符,关于这个自加运算符,有是一个考点,++i是先+1,再使用,而i++是先使用,后+1,考虑到你刚接触C语言不久,这条规则你先死记下来,以后慢慢就会明白~
i是5,加1变成6,+=运算符意思是这样的,比如x+=y,就是x=x+y,你也可以理解成把等号移到前面,然后再加一个最开始得字符`
现在我们看这道题目就简单了,i先加一再使用,就变成了6,i=i+i,这时候系统里的i已经是6了,所以就是6+6=12
啰啰嗦嗦说了这么多,
关于C语言的问题.已知 int i = 5; 执行语句 i += ++i; i 的值是
已知:int i=5;执行语句i+=++i;后,i的值怎么算?
已知int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量 i 的值是( ) A 6 B 12 C 3
c语言若int i=10;则执行语句while(i-->5):后,变量i的正确值为多少 正确值是多少,
下列语句序列执行后,j 的值是( 15).int j=1; for( int i=5; i>0; i-=2 ) j*=i
设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为( )?
int i=3, a;语句a=(i--)+(i--).执行后a的值?求助!
C语言中:int i=0;执行语句while(i++
C语言 循环体 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i--)for
下列语句序列执行后,i 的值是?int i=8,j=16; if( i-1 > j )
.下列语句序列执行后,i的值是?int i=16; do { i/=2; } while(
下面语句执行后,i 的值是( B ).for( int i=0,j=1; j < 5; j+=3 ) i=i+j; A)