main() {int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b;
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/13 13:37:04
main() {int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b; printf("i=%d,j=%d,k=%d\n",i,j,k); }
如果可以告诉步骤,为何--a=b++
如果可以告诉步骤,为何--a=b++
![main() {int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b;](/uploads/image/z/195652-28-2.jpg?t=main%EF%BC%88%EF%BC%89+%7Bint+i%2Cj%2Ck%2Ca%3D3%2Cb%3D2%3B+i%3D%28--a%3D%3Db%2B%2B%29%3F--a%3A%2B%2Bb%3B+j%3Da%2B%2B%3Bk%3Db%3B)
1. i=(--a==b++)?--a:++b; 三目运算符,先判断条件(--a==b++)得到的结果成立,最终得到结果a=2,b=3,其中a减1后被赋值了,b先被赋值为2,比较结束后b再加1,这个你应该能够懂是++、--的运行规则,得到结果后成立的运行,不成立的不运行,本题是运行--a,不运行++b.三目运算符右结合的情况时,再有两个以上或多个时,才用到这个功能,例如a?b : c ? d : j.最终i=1, a=1,b=3.
2. j=a++,先将a赋值给j,则j=1,最后a=2.
3. k=b=3.
2. j=a++,先将a赋值给j,则j=1,最后a=2.
3. k=b=3.
main() {int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=a++;k=b;
以下程序的输出 main() { int i,j,k,a=3,b=2; i=(--a==b++)?--a:++b; j=
a=2i+j-2k,b=2i-j-k,c=i+2j+2k
已知a=3i-j-2k,b=i+2j-k,求a×b
#define max(a,b) (a>b?a:b) int main() { int i=6,j=5; printf(
1.设a=3i-j-2k b=i+2j-k 求 a·b,a×b,a b夹角的余弦
C语言中 c[I][j] + = a[I][k] * b[k][j]
已知向量=2i-3j+k,b=i-j+3k,c=i-2j计算:(1)(a*b)*c-(a*c)*b(2)(a+b)*(b
设向量a=3i-j+2k,向量b=i+2j+k,计算:(1)(-2a)*(3b) (2)3a*2b
matlab中 e(k,:)=[a(i,:),b(j,:
向量a=3i-j-2k,b=i+2j-k,则(-2a) 3b=
int b=2;int fun(int*k) {b=*k=b;return (b);} main() {int a[10