在C语言中 int a,b,x; x=(a=-1)&&(b=-2); 之后输出x的值为什么是1
在C语言中 int a,b,x; x=(a=-1)&&(b=-2); 之后输出x的值为什么是1
&&是逻辑与,因为a不为0,所以继续看b,b也不为0,所以x为1.
就是说,&&是判断左右两边是否为真,而0为假,非0皆为真,所以整个式子为真。
c语言中x=-8;y=0<=x<=10;输出的y值为什么是1
根据运算子优先顺序/结合性
y=0<=x<=10
即
y=((0<=x)<=10)
显然的子表示式0<=x值为假(0)
(0<=x)<=10值为真(1)
所以实际上就是y=1
所以y值为1
c语言int a=3; b=(a++)+(a++)+(a++); 后输出a的值为什么是9?
是9吗?我自己的linux平台g编译结果为6,因为a=3,后面3次a++,就是3+1+1+1=6
b的值是9,因为a++是在执行加法操作之后才自加1,所以b的值为3+3+3=9
c语言中x=2,x*=x 1的值为
x=2
x*=x
x= x*x=4
x值是4.
后面那个1 不知道什么东西 无法理解
c语言中 main() { int x; printf("%d",((x=5*2,x-3),4*x)); getch(); } 输出值为什么是40 求高手指教啊
printf语句是将与输出控制对应的前几个输出,后面的就不管。但是你的这个将(x=5*2,x-3),4*x当作一个整体,它会返回最后得到的那个值,也就是40。如果你将外层的括号去掉,那这就成了两个部分了,而第一部分最后算出来的是7。
c语言中, 若有int a=4,b=9;执行a=b;b=a;之后,为什么a的值为9,b的值为9
int a=4,b=9; a的初始值为4 b的初始值为9
执行a=b; 这句的意思为将b的值赋值给a,b为9,赋值给a之后,a也等于9,此时 a和b都为9
b=a;这句的意思为将a的值赋值给b,两者都为9,赋值后也都为9
求采纳
C语言中有: x=0; y=1; x&&++y; 为什么输出y的值还是1?
因为x为0,求&&运算前面为假,后面就不执行了,所用y还是1!
c语言中,设int型变数a=5, b=6-(-a),那么b的值为什么是2?
这个问题不应该出现b=11,你要是有这样的程式码,贴出来看看,到底出了什么问题,再作讨论。
c语言中x=3,y=(++x)+(++x);为什么输出的y值为10
x的值储存在一个位置上,第一次(++x)后x的值为4,第二次(++x)后为5. 最后y=(++x)+(++x)相当于y=x+x=5+5=10.
c语言中 int a=300,b,c; if(a>=400) b=300; c=200; printf("%d %d",b,c); 为什么输出b的值为1239
在此程式中,b和c未初始化,为随机值。a=300不满足if(a>=400)的条件,所以b没有被赋值,仍然是一个不确定的值,所以会输出一个随机值,此处1239就是那个随机值。