zoukankan      html  css  js  c++  java
  • 运算顺序

    有以下程序

    #include <stdio.h>
    main()
    { int a=1,b=2,c=3,d=0;
    if (a==1 && b++==2)
    
    
    if (b!=2||c--!=3)
    
    
    printf("%d,%d,%d
    ",a,b,c);
    
    
    else printf("%d,%d,%d
    ",a,b,c);
    else printf("%d,%d,%d
    ",a,b,c);
    
    
    }


    程序运行后的输出结果是 1 3 3

    else总是和最近的if配对,所以进入第一个if语句中条件判断时,因为是逻辑与操作需要两边运算对象的值均为非零值,才为真,所以需要逐个执行判断的结果为1,不再执行第二个case语句中的操作。而是进入第二个if语句条件判断,因为b!=2条件成立所以整个条件表达式的值为真,所以不再执行逻辑或的第二个运算对象(c-- !=3)c的值不变,也不再执行第一个else语句。打印a的值1,b的值3,c的值3。

  • 相关阅读:
    git 常用命令
    最近任务 && react文章列表
    markdown 常用格式API
    webpack 插件怎么写
    iframe
    重置浏览器滚动条css
    webpack4
    vscode插件开发
    vscode插件
    react router 的push replace
  • 原文地址:https://www.cnblogs.com/Mr210843013/p/4804613.html
Copyright © 2011-2022 走看看