标签: relational-operators

具有两个关系运算符的单个变量如何在内部工作

如果需要组合布尔表达式,我们通常使用逻辑运算符.如果不使用逻辑运算符,我想知道表达式.

int x=101;
if(90<=x<=100)
  cout<<'A';  
Run Code Online (Sandbox Code Playgroud)

此代码仍在控制台上打印"A".你能帮我理解一下这个布尔表达式的评估方式和顺序.

c++ boolean-expression logical-operators relational-operators

0
推荐指数
1
解决办法
49
查看次数

在代数表达式中如何使用关系运算符?

我遇到了一段代码,其中<=在 C 中的代数表达式中使用了 。

int x=2, y=4, z=5, m=10;
m+= x * y + z++ <=m+3;
printf("%d, %d", m,z);
Run Code Online (Sandbox Code Playgroud)

我从未见过以这种方式使用关系运算符,并且想知道如何计算其输出。运行时收到的输出是 11, 6。<=这里以什么方式工作?

c operator-precedence post-increment relational-operators

0
推荐指数
1
解决办法
113
查看次数

为什么我们不能在 switch 语句中使用关系表达式?

既然true falseC 中没有布尔类型,那么表达式的x == y计算结果是什么,什么时候为真,什么时候为假?

如果它的计算结果分别为 1 和 0,它们是整数,为什么我们不能caseswitch语句中使用s这样的表达式?

这背后的正确原因是:

  1. case 只允许整数表达式或计算为整数的表达式,而 x == y 不会计算为整数(我不知道如何计算)?或者
  2. 如果 switch 允许像 case 这样的表达式x==y,那么多个 case很有可能最终具有相同的值,即,无论何时,我们都会得到 1,因此多个这样的 case 将评估为 1 或 0;这在 switch 语句中是不允许的。

c switch-statement relational-operators

-1
推荐指数
1
解决办法
121
查看次数

条件检查给出错误答案

#include <stdio.h>
int main(){
  printf("%d,%d\n", 2 & (1<<1) , 2 & (1<<1)>0 );
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该程序的输出是2,0.

2 & (1<<1)等于 2,大于 0。那么为什么2 & (1<<1) > 0计算结果为零?

c bit-shift operator-precedence bitwise-and relational-operators

-1
推荐指数
1
解决办法
35
查看次数

关系运算符精度

我有一个关于关系运算符的问题,它们总是给出正确的结果吗?因为如果我们运行这行代码,结果将是 1 而不是 0

cout<<(ULLONG_MAX==-1);
Run Code Online (Sandbox Code Playgroud)

如果我们继续两边都减 1,结果仍然是 1

所以这可能会在我们的程序中产生错误的结果

解决办法是什么?

c++ integer twos-complement relational-operators

-1
推荐指数
1
解决办法
103
查看次数

C 关系运算符 if-else

    #include<stdio.h>
int main()
{
    int n=2500;
    if(0<n<1000){
        printf("no\n");
    }
    else{
        printf("yes\n");
    }
    int x=2500;
    if(n>0 && n<1000){
        printf("no\n");
    }
    else{
        printf("yes\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

n 的 if-else 应该打印“是” 但输出是“否”
为什么0<n<1000不起作用

c if-statement relational-operators

-2
推荐指数
1
解决办法
54
查看次数

c 如何评估小于和大于表达式?

我想知道这段C语言代码中的i是如何计算的?

    int x = 10, y = 20, z = 5, i;
    i = x < y < z;
    printf("%d\n",i);
Run Code Online (Sandbox Code Playgroud)

c evaluation relational-operators

-3
推荐指数
1
解决办法
166
查看次数