zoukankan      html  css  js  c++  java
  • C++中的运算:a += a *= a /= a

    #include<iostream>
    using namespace std;
    int main()
    {
    	int a = 8;
    	a += a *= a /= a - 6;
    	cout << "Result :" << a << endl;
    	return 1;
    }
    

    注意赋值运算符是从右往左结合的,所以这个表达式是这样运算的:

    a += ( a *= (a /= (a - 6)))

    意思就是首先将a / (a - 6) 的值赋值给a

    再将a 现在的平方的值赋给a

    再将最新a 的值乘2赋值a

    不过要注意那个除法对整数和浮点数类型时不一样

    比如int a= 10,则a - 6 = 4,于是a /= (a-6),a被赋值10/4 = 2 ,并且表达式的值也是a的值2

    然后a *= (a /= (a - 6)),因为a已经被修改为2,于是a 被2 * 2 = 4赋值,并且表达式的值也是a的值4

    最后a + = ( a *= (a /= (a - 6))),此时a已经被修改为4,于是a 被4 + 4 = 8赋值

    如果a是浮点数,则除法结果就是正常意义上的除法了,后面的过程一致

  • 相关阅读:
    C语言-typedef和#define
    C语言-指针
    C语言-数据结构-结构体
    数据结构笔记
    树的存储结构
    树的基本知识
    关于矩阵
    LaTex
    札记-碎碎念
    一个大神的个人博客 博客桌面风格很棒 二次元
  • 原文地址:https://www.cnblogs.com/masbay/p/13731738.html
Copyright © 2011-2022 走看看