关于逻辑运算符的说法正确的是:() A.它们都是双目运算符,优先级相同 B.语句”int a=0,c=1,b;b=a&&c++;A.它们都是双目运算符,优先级相同 B.语句”int a=0,c=1,b;b=a&&c++; “ 执行后,c.的值为2 C.语句”int a=0,c=1,b;b=a||c++; “ 执行后,c.的值为2 D.语句”int a=1,c=1,b;b=a&&c++; “ 执行后,c.的值为2
问题描述:
关于逻辑运算符的说法正确的是:() A.它们都是双目运算符,优先级相同 B.语句”int a=0,c=1,b;b=a&&c++;
A.它们都是双目运算符,优先级相同 B.语句”int a=0,c=1,b;b=a&&c++; “ 执行后,c.的值为2 C.语句”int a=0,c=1,b;b=a||c++; “ 执行后,c.的值为2 D.语句”int a=1,c=1,b;b=a&&c++; “ 执行后,c.的值为2
答
答案是:CD
A.!(逻辑反)、~(按位取反)是单目运算符,而且优先级高于其他双目逻辑运算符;
B.执行 b=a;之后表达式的值为0,所以根据优化原则是不再执行c++这句的,因为不管c++这句是1或者0,那么表达式的值都是0,所以没有意义就优化不执行了;