在C语言中j=(i--*--i)+(i++*++i)跟j=(i++*++i)+(i--*--i)的区别,为什么前者j=1
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 09:55:43
在C语言中j=(i--*--i)+(i++*++i)跟j=(i++*++i)+(i--*--i)的区别,为什么前者j=13,后者j=25,而i--*--i却=4,i++*++i却=16!
不好意思 我忘记说了 i初值是3
不好意思 我忘记说了 i初值是3
i--*--i却=4是先执行i--,再执行--i,最后执行*,但由于i--的特殊性,开始i=3,i--时i暂不变,--i时i=2,此时注意,因为i值变了,在执行*时系统找i--时,找到i=2,所以相当于(2--)*2=4,之后再i=1.所以整个过程相当于,先执行--i,在执行*,再执行i--.i++*++i同理.
j=(i--*--i)+(i++*++i)则要更复杂一点,当
i--*--i = 4运算出来时i=2,但这时i--还不能执行,因为这是还是在同一个式子里,i=2
带入到i++*++i中运算出得9,此时再进行i--,再i++,得到i=3,所以j=4+9=13.
后者同理.
j=(i--*--i)+(i++*++i)则要更复杂一点,当
i--*--i = 4运算出来时i=2,但这时i--还不能执行,因为这是还是在同一个式子里,i=2
带入到i++*++i中运算出得9,此时再进行i--,再i++,得到i=3,所以j=4+9=13.
后者同理.
在C语言中j=(i--*--i)+(i++*++i)跟j=(i++*++i)+(i--*--i)的区别,为什么前者j=1
C语言问题:j=*i j=&i j=*&i 三者有何区别?
在C语言中 j=(++i)+(++i)+(++i) 这条语句 i和j的结果分别是?
c语言中,int i=3,j=4 k=++i+j--+++i---j,结果为几?为什么?
C语言 p=(i++)+(i++)+(i++); q=(++j)+(++j)+(++j);
c语言 求解释为什么要写for(j=1,i=0;;j++,i++)而不是for(j=1;i=0;j++;i++)
C语言,i=2; j = (++i)+(++i)+(++i) 最后i和j的值是多少,详细过程
C语言.a[i][j]=a[i-1][j-1]+2.为什么成立?
C语言高手进 j =2 i = (j++,++j,j+2,j-3);
c语言中if(i-j)d=i-j;其中if(i-j)是什么含义?
for(j=i;j>0;j--)
C语言j = c&&i++;是什么意思