#include main() { int a=1,b=2,c=3,d=4,m=5,n=6; a=(m=a>b)&&(n
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 04:50:27
#include main() { int a=1,b=2,c=3,d=4,m=5,n=6; a=(m=a>b)&&(n=c>d)||++a==b--; printf("%d %d
#include
main()
{
int a=1,b=2,c=3,d=4,m=5,n=6;
a=(m=a>b)&&(n=c>d)||++a==b--;
printf("%d %d %d %d\n",a,b,m,n);
}
为何是1 1 0 而不是0 1 0 a=(m=a>b)&&(n=c>d)||++a==b--;
优先级我看了但是还是不懂
#include
main()
{
int a=1,b=2,c=3,d=4,m=5,n=6;
a=(m=a>b)&&(n=c>d)||++a==b--;
printf("%d %d %d %d\n",a,b,m,n);
}
为何是1 1 0 而不是0 1 0 a=(m=a>b)&&(n=c>d)||++a==b--;
优先级我看了但是还是不懂
运算符优先级,先括号,再是++、--、==、&& ||、最后是=
当计算m=a>b时,得到m=0,0&&(n=c>d),因为0&&任何数都为0,所以不再计算后面的表达式(n=c>d),所以n的值没变,仍是6,然后再用0去||++a==b--,++a是先自增再引用,b--是先引用再自减,所以++a==b--的值是真为1(a现在为2,b现在为1) ,0||1的结果为1,然后再赋值给a ,所以最终的值是1106
当计算m=a>b时,得到m=0,0&&(n=c>d),因为0&&任何数都为0,所以不再计算后面的表达式(n=c>d),所以n的值没变,仍是6,然后再用0去||++a==b--,++a是先自增再引用,b--是先引用再自减,所以++a==b--的值是真为1(a现在为2,b现在为1) ,0||1的结果为1,然后再赋值给a ,所以最终的值是1106
#include main() { int a=1,b=2,c=3,d=4,m=5,n=6; a=(m=a>b)&&(n
#include int main( ) { int a ,b,m ,n ; m = n = 1 ; scanf( "%
#include main() {int a=2,b=2,c=2; printf("%d\n",a/b&c); } 答案
#include main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\n
#includeint a(int x);int b(int y);int main(){int m,n;n=6;m=a
#include void main() { int a,b,c,n; for(n=100;n
#include void main() { int a=21,b=11; printf("%d\n",--a+b,--
#include using namespace std; int main() { int a,b,c,d; a=c=
#include int main() { int n,a,sum=1,k; scanf("%d",&n); for(k
main() { int a=1,b=2,c=3,d=4,m=2,n=2; (m=a>b)&&(n=c>d); prin
#include func(int a,int b) {int c; c=a+b; return c;} main()
#include void main() {int a=1,m,n,j,s=0;