当前位置:编程学习 > C/C++ >>

c语言 ++ ——

  

 

 

\

 

 

 

 


这题的答案是:10,12,120

之前没有明白c=12是怎么回事?

 

 

a++是先运算,在自增的

++a是先自增在运算

比如b=a++和 b=++a; 若a=10 ,则 b 分别为 10 和 11

 

 

 

 

 

 

 

 

b=a++              这里,先赋值,在++,把a赋给b,b=10,a在自加,a=10+1=11

 


c=++a           这里,先++,在赋值,a自加,a=11+1,把a赋给c,c=12

 

 

 

d = 10 * a++    这里,要看运算优先级。。。++自增运算符 的优先级高于 = 赋值运算符。。。d=10*a++。。。a++,这个先运算在自增,a*10=120,a自增,a=13

 

 

 

int main(int argc, const char * argv[])
{
   
    int a,d;
    a=10;
 
    d = 10*(a++);
    printf("a=%d,d=%d\n",a,d);
   
    d = 10*a++;
    printf("a=%d,d=%d\n",a,d);
   
    return 0;
}

打印:

a=11,d=100
a=12,d=110


--------------

 

 

   int a,d;
    a=10;


   d = 10*(a++);
    printf("a=%d,d=%d\n",a,d);

打印:a=11,d=100

 


    int a,d;
    a=10;


    d = 10*a++;
    printf("a=%d,d=%d\n",a,d);

 

 

打印:a=11,d=100

 

 

 

虽然打印结果一样,但是,要看是先自增再运算,还是先运算再自增


-----------

 


#include <stdio.h>

int main(int argc, const char * argv[])
{
   
    int a,d;
    a=10;
    d = 10*(++a);
    printf("a=%d,d=%d\n",a,d);
   
 
   
    return 0;
}

 

打印:

a=11,d=110

------------------

 

C语言运算符优先级 详细列表

 

 

同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

 

\

 

\


 

 

 

 

 

 

-----------

 

 

\

 

-

 


打印结果::

 

 

--------------\
 

 


 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,