c中(j++||k++&&i++)怎么算?初始值i=1.j=1,k=2,运算后i=1,j=2,k=2;为什么?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/05 02:39:30
c中(j++||k++&&i++)怎么算?初始值i=1.j=1,k=2,运算后i=1,j=2,k=2;为什么?
根据逻辑运算的运算规则,如果左边的操作数已经能确定整个表达式的值,则右操作数系统不再进行运算.所以你这个式子里只有j++执行了,所以j=2,i和k的值没变
再问: 但是按照优先级不是应该先算&&吗?
再答: 你可以这样理解:(j++||k++)&&i++,&&的左操作数又是一个表达式,这时候你要先算左操作数,所以问题就变成了求:(j++||k++),||也是先算左操作数,所以实质上是先算了j++
再问: 那它算的时候不就没按照优先级吗?
再答: 考虑计算顺序的时候手要考虑括号,然后是运算符本身的性质,然后才是优先级
再问: 但是按照优先级不是应该先算&&吗?
再答: 你可以这样理解:(j++||k++)&&i++,&&的左操作数又是一个表达式,这时候你要先算左操作数,所以问题就变成了求:(j++||k++),||也是先算左操作数,所以实质上是先算了j++
再问: 那它算的时候不就没按照优先级吗?
再答: 考虑计算顺序的时候手要考虑括号,然后是运算符本身的性质,然后才是优先级
c中(j++||k++&&i++)怎么算?初始值i=1.j=1,k=2,运算后i=1,j=2,k=2;为什么?
int i=2,j=1,k=3 i&&(i+j)&k|i+j
a=2i+j-2k,b=2i-j-k,c=i+2j+2k
[(j+k)(K+i)(i+j)]=2.为什么会等于2啊?里面的i,j,k都是单位向量,在空间坐标系中~
int i=1 ,j=1 ,k=2; if((j-- || k++) && i++) 为什么答案为2 0 2
解析下列程序运算过程main(){ int i=1,j=2,k=3; if(i++==j)&&k--==j) print
C语言中 c[I][j] + = a[I][k] * b[k][j]
设有int i,j,k; 则表达式i=1,j=2,k=3,i&&j&k 的值为1,
c语言中,int i=3,j=4 k=++i+j--+++i---j,结果为几?为什么?
求c语言 i*=i+++j*k+k^2%i++ 计算顺序
i = (j++,++k);怎么计算的
{ int i,j,k; for(i=4;i>0;i--) { j=5; k=i+j; if((k%4=1)||(k%4