程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 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語言運算符優先級 詳細列表

 

 

同一優先級的運算符,運算次序由結合方向所決定。

簡單記就是:! > 算術運算符 > 關系運算符 > && > || > 賦值運算符

 

\

 

\


 

 

 

 

 

 

-----------

 

 

\

 

-

 


打印結果::

 

 

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

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved