int i=(j=4,k=8,l=16,m=32); printf(“%d”, i);该语句的输出结果是多少?
来源:百度知道 编辑:UC知道 时间:2024/06/15 17:01:47
望高手不吝赐教,解释一下这个!!!先谢啦!
32
当一个语句是由多个被逗号运算符隔开的表达式组成时,此语句的值为最后一个表达式的值。
输出结果是32
这种写法很乱且很不好,不建议这样写
首先
int i=(j=4);
等同于:
int j = 4;
int i = j;
而int i=(j=4,k=8,l=16,m=32);
则等同于:
int j=4, k=8, l=16, m=32;
int i = j;
int i = k;
int i = l;
int i = m;
z最后i = m =32,故输出为32
32
逗号表达式,
从左到右进行,依次赋值,以最后的表达式为准。
32
因为是逗号表达式。
所以,I的值取最右边的。
32
若 x,i,j,k 都是 int 型变量,则计算 x = (i=4,j=16,k=32) 后,x的值为:______。
急!int i=1,,j=1,k=3,则表达式!&&(i+j)&k|i+j的值是多少?
int i,j,k;
int i,b,k=0;
i,j,k是int,i=j=k=-1,执行i++||++j&&++k后,ijk的值分别变成了0,-1,-1,请问k的值为什么是-1?
int i , j=2, *p=&i; *p=*&j; 完成的功能是?
int i=0;
c语言的问题:int i=3; k=(i++)+(++i)+(i++);
为什么要i--和j--以及j=k和k=j?
A=2i-3j+k B=i+j-2k A×B=?