已知:int a=1,b=0,c=1
来源:百度知道 编辑:UC知道 时间:2024/06/26 06:12:04
已知:int a=1,b=0,c=1;,计算表达式!b||++a&&++c值后,a,b,c的值分别为
运行后,a=1,b=0,c=1.
b=0,!b=1,后面是||运算符,整个表达式必定为真.由于C采取"短路"运算(一旦确定表达的值,便不再计算后面的),故a,c的值不变,当然b也未变.
||和&&优先级是一样的,所以先算||,后&&;
算||之前算!b,为1,所以!b||++a表达式值为1,++a不做了;
算++c后++c为2,c也为2,表达式!b||++a&&++c为1;
所以a为1,b为0,c为2.
表达式结果为1,
a,b,c分别为2,0,2。
程序如下:include<iostream>
using namespace std;
int main()
{
int a=1,b=0,c=1;
int k=b||++a&&++c;
cout<<k<<endl;
cout<<a<<" "<<b<<" "<<c<<endl;
return 0;
}
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
void a(int a,int b=0)的含义?
CSum(int a=0,int b=0){nSum+=a+b}
int a=5,b; b=++a*--a;
int a=b;与int a,b;a=b;的区别
已知a>0,b>0,ab-(a+b)=1,求a+b最小值
unsigned int a=2;int b = -3;
已知a为正数,且a[a(a+b)+b]+b=1,求b+a
int *a=0,*b=0; 定义语句对吗
已知|a+b|-|a-b|=0,化简|a^1999+b^1999|+|a^1999-b^1999|