C語言中for循環問題(一個小坑需註意)
今天分享一下C語言中的for循環中我們常常忽略的小問題。
舉一個小例子來說明,大傢也可以自己先算一下哦
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { int a=0; int b=0; for(a=0,b=0;b=0;a++,b++) b++; return 0; }
這是一道面試題,問程序運行幾次呢?運行結果如何?
其實這個小題關鍵是我們有沒有被上圖所示的b=0迷惑。此處的意思是賦值而並非判斷。b=0顯然為假,所以一次都不執行,直接跳出循環瞭。下面我還是把運行結果給大傢看一下。
如果此處不是b=0而是b等於一個非零的值,則此程序會陷入一個死循環。下面把代碼稍微改一下(改為b=1)看一下運行結果。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> int main() { int a=0; int b=0; for(a=0,b=0;b=1;a++,b++) b++; return 0; }
運行結果如下:
今天的分享到這裡,希望大傢以後對於此類容易忽視的小問題也加以警覺,謝謝觀看。
到此這篇關於C語言中for循環問題的文章就介紹到這瞭,更多相關C語言for循環坑內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!