首页 > 其他分享 >++x||y++&&z++ (x++||y++&&z++)的判断真假

++x||y++&&z++ (x++||y++&&z++)的判断真假

时间:2023-12-13 23:32:51浏览次数:25  
标签:main ++ ++&& int && printf 真假 include

前言:当我们学习操作符尤其到了研究关于算数题时非常头疼,今天帮助大家解决这些问题

首先我拿出一段代码,接下来的研究都会根据这段代码来进行

#include<stdio.h>
int main()
{
  int a=0;b=0;c=8;
  int d;
  d=a++||b++&&c++;
  //   这里运行的步骤是先判断a=0为假,然后再a+1,继续往后判断
  //   b=0,为假,b+1,看到&&直接整个式子为假 0
  //   &&往后的c++不进行运算
  printf("a=%d,b=%d,c=%d",a,b,c);
  // 输出:a=1,b=1,c=8
  printf("\nd=%d",d);
  //输出:d=0
  return 0;
}

将上面的代码稍微改一点:

#include<stdio.h>
int main()
{
  int a=0;b=0;c=8;
  int d;
  d=++a||b++&&c++;
  //与上面第一个代码不同的a++变成了++a,所以a先++变成1,那么||左边为真
  //注:由于||左边已经为真,则后面一概不做判断  
  //由此:d=1   
  printf("a=%d,b=%d,c=%d",a,b,c);
  // 输出:a=1,b=0,c=8
  printf("\nd=%d",d);
  //输出:1
  return 0;
}

重新来一段代码:

#include<stdio.h>
int main(void) 
{
 while(1) 
 {
  int a = 2;
  a||(a=3);
  printf("%d",a);//结果为2,因为判断||左边的时候为真,所以右边的就不判断了,所以a为2。改成&&就是3了
 }
 return 0;
}

如果觉得自己会了,就拿下面这个题练一练吧:

#include<stdio.h>
int main()
{
	int x = 0; int  y = 5; int z = 3;
	while (z-- > 0 && ++x < 5)
		y = y - 1;
	printf("%d, %d, %d\n", x, y, z);
}

答案:3,2,-1















标签:main,++,++&&,int,&&,printf,真假,include
From: https://blog.51cto.com/u_16351083/8807771

相关文章

  • C++学习笔记九:值,常量,常表达式和常初始化
    1.值:Literal:Datathatisdirectlyrepresentedincodewithoutgoingthroughsomeothervariablestoredinmemory.值:直接在代码中表示的数据,无需通过内存中存储的其他变量。值不在内存中进行存储,而是直接在二进制的可执行文件中产生。1.1整型//Literaltypes:ua......
  • 算法战斗第二天C++2
    A.NextRound"Contestantwhoearnsascoreequaltoorgreaterthanthek-thplacefinisher'sscorewilladvancetothenextround,aslongasthecontestantearnsapositivescore..."—anexcerptfromcontestrules.Atotalofnpartic......
  • 算法战斗第二天C++1
    A.TeamOnedaythreebestfriendsPetya,VasyaandTonyadecidedtoformateamandtakepartinprogrammingcontests.Participantsareusuallyofferedseveralproblemsduringprogrammingcontests.Longbeforethestartthefriendsdecidedthattheywi......
  • C++ 析构函数 virtual 虚析构
    结论:当父类存在virtual函数时,则需要实现虚析构函数。直接上代码:#include<iostream>#include<memory>classAAA{public:AAA(){printf("AAA构造...\n");}//virtual~AAA(){printf("AAA析构...\n");}virtualvoidSayOk()=0;};cl......
  • C++ Qt开发:CheckBox多选框组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍CheckBox单行输入框组件的常用方法及灵活运用。QCheckBox是Qt中用于实现复选框的组件,它提供了......
  • C++类的静态成员
    C++类的静态成员声明并使用静态成员使用static关键字将其与类关联在一块,同样,static声明的对象也可以声明访问权限public,private注意,类的静态成员存在于任何对象之外,对象中不包含任何与静态数据有关的数据,就是说类中声明的静态成员是独立于类而存在的,只是和类相关联(这里的独立并不......
  • C++堆——heap与二叉树和python
    数据结构栈-->stack队列-->queue树-->tree堆-->heap散列-->hash图-->graph图结构一般包括顶点和边邻接矩阵DAG,DirectedAcyclicGraph即「有向无环图」树树(Tree)是一种非线性的数据结构,由n个节点组成,其中每个节点都有零个或多个子节点。......
  • C++ Templates 第2版 电子书 pdf
    关注公众号:红宸笑。回复:电子书即可  本书是同名经典畅销图书的全新升级版本,针对C++11、C++14、C++17标准进行了全面更新,并对所有的新语言特性(包括可变参数模板、通用lambda、类模板参数推导等)进行了解释。全书共28章。首先全面介绍了本书的内容结构和相关情况。第1部分(......
  • C++基础 -5- 动态内存分配
    ———————动态内存分配——————— ......
  • C++ Qt开发:RadioButton单选框分组组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QRadioButton单选框组件以及与之交互的QButtonGroup类的常用方法及灵活运用。QRadioButton是Qt框......