程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> C# i=0;i=i++,i的值是多少?,

C# i=0;i=i++,i的值是多少?,

編輯:關於.NET

C# i=0;i=i++,i的值是多少?,


參考頁面:

http://www.yuanjiaocheng.net/entity/update-entity.html

http://www.yuanjiaocheng.net/entity/delete-entity.html

http://www.yuanjiaocheng.net/entity/add-entity-graph.html

http://www.yuanjiaocheng.net/entity/update-entity-graph.html

http://www.yuanjiaocheng.net/ASPNET-CORE/first.html

昨天看群裡dalao們聊天,有一個人出來問這個問題

這個題應該是挺常見的

 

int i = 0, t;
        for(t = 0;t <= 5;t++)
        {
            i = i++;
            Console.WriteLine(i);
        }   大佬說for是個干擾項,去掉也一樣   int i = 0;
Console.WriteLine(i = i++); Console.WriteLine(i = i++); Console.WriteLine(i = i++);   群裡面就很多人開始說就是會增加,我也覺得會增加, 當時覺得雖然i先被賦值等於0,之後i的值是會增加,第一個輸出等於1。   然後有人跑了一遍,結果是輸出了一堆0   在進行表達式處理的時候,首先會對i++這樣的運算進行處理,就是說,第一步不是賦值 為i創建i',然後讓i自增。 處理完i++之後,就會進行表達式的更低級的運算處理,但參與運算的是i', 這個時候,將i'賦值給i 。最後,釋放系統所創建的變量,如i'。         然後還有一道升級版的 對於++i的處理,則與i++恰好相反,系統首先會給i進行自增處理,然後才會創建i'   int i = 0;
Console.WriteLine(i = i++ + ++i); Console.WriteLine(i = i++ + ++i);   第一個輸出的答案是2 第二個是6 第一個就是0+2 第二個就是2+4         新手初學,哪裡不對還請dalao們指出 轉載請聯系  

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