C 中for迴圈最多可以巢狀多少次?

2025-07-26 19:25:36 字數 4143 閱讀 8065

1樓:algorithm時代

無限次,如果你想的話。

c++中最多能迴圈巢狀幾重?

2樓:伊·梵

你的**有問題,貼出來看看。

3樓:網友

這是記憶體溢位了。

你迴圈比較多,結果記憶體位址被分配完了。

理論上c++可以巢狀無數的迴圈。

但前提是你的記憶體也需要無窮大。

另外:八皇后怎麼能用列舉法呢?

應該是遞迴吧~

4樓:網友

我只知道c++的編碼規範要求不要巢狀過深,所以我從不用三層以上巢狀。

5樓:網友

迴圈巢狀可以無限重的,出現這個錯誤只能說是你讀到了未分配的空間,好好檢查你的**吧。

c++for迴圈次數上限是多少?

6樓:請老實

#include

void main()

cout執行以上**得到結果168000000。這證明了3樓不對,你那個32767什麼的不現實。

從沒聽說過for有上限,上限什麼的為什麼c++要這樣設語法?

至於問題就和你的電腦還有編譯器有關,電腦的計算能力不可能那麼差,所以不是計算機硬體,一般是編譯器設的上限。你的迴圈裡裝的東西肯定比我上面的**多,迴圈太多干擾到編譯器執行了。我用的編譯器是 ,我在用的時候存在好多問題,編譯器也是別人編的軟體,不完善也正常。

追究到底**的毛病也沒太大用,你知道for沒上限就對了,這種小問題就直接略過吧。

據我所知,和win7不是很相容,有時也出一些根本沒法解決的問題。不知道你用的是不是,我知道的是,vc這麼老的軟體,甚至有些地方還不符合語法。例如for迴圈裡定義的第乙個引數,語法裡是隻在for的大括號範圍內有效(vc2008就是這樣),但是則在for外面也有效。

這是語法不斷發展的結果。話說回來就算是vc2008也未必相容64位的最新系統吧。

所以總之,這些問題應該是軟體方面的吧,本身編譯器也不是十分完善的。

管他相容與否,大體能用就行了吧,你是來問語法的就不要管這些小問題了。

7樓:醋溜_白菜

for迴圈應該沒有上限,for(;1;)等價於while(1)是無限迴圈,你說的那個可能是引數的上限,比如說int i=0;i++;當i到了32767之後再加1就會變成最小的-32766了。這樣就形成了死迴圈。 至於int型變數的取值範圍,因編譯器的不同而不同。

8樓:網友

估計是你這樣迴圈的:for(int i=0; i 2^31 就是級別。

你可以把i定義成64位, 如int64 i;這樣取值範圍可達2^63

9樓:糖糖寳寳

沒次數限制的,但是迴圈次數過多會影響速度。

比如:for (int i = 1; i <=x ; i++)這樣的寫法怎樣都會溢位,改正:

long result = 1;

for (int i = 1; i <=steps ; i++)

10樓:網友

你的迴圈控制變數是什麼型別的?要int,就不可能出錯,再爛的電腦在一秒鐘內都能看到結果!看看是不是發生溢位錯誤了!

11樓:alvin學投資

計算機的硬體問題。如果你的計算機時超級大型機,這樣的迴圈沒問題。

12樓:網友

是弧度表示的,但是你的換算錯誤了。

1度 = pi/180弧度的,在看看你的換算,明顯錯了。

13樓:網友

你是怎麼寫的for迴圈語句的?

14樓:杜映桖

無聊,看你怎麼寫for迴圈。

c++中如何實現多個for語句的巢狀迴圈?

15樓:匿名使用者

可以。不管是dowhile還是while都可以巢狀for迴圈,而且可以巢狀任意多個for迴圈。不僅如此,這三種迴圈語句可以任意相互巢狀,個數不限。

但是過多的迴圈巢狀會使得邏輯混亂,容易出錯,所以使用中巢狀三重迴圈及以下的比較常見。

16樓:真的只是螞蟻

一下遞迴你就會了。。。

c++ for迴圈巢狀for迴圈的 是如何計算的?

17樓:網友

**確實寫錯了。for迴圈是外面的迴圈,每次迴圈裡面的for都要迴圈一次。也就是說,你把for裡面的**看成乙個整體,這個整體被迴圈了3次,這個整體裡面的for每次也要迴圈3次,所以總共迴圈了3*3=9次。

18樓:網友

從外頭那個for迴圈開始,外頭每迴圈一圈,裡頭進行一次完整的for迴圈……

19樓:網友

大圈套小圈。

大圈裡的 cout<<"";這條語句再加上內部for的小圈算作外層的一大圈。

所以 cout<<*pa+i)+j)<<" "; 這條語句一共要被執行 3*3=9 次。

20樓:網友

lz程式寫錯了吧,根本沒定義 i 怎麼就用作迴圈判斷條件不合適吧,我猜測兩個迴圈語句應該是這樣的吧:

for(int i=0;i<3;i++)

這樣的話肯定是從外層開始計算,可以先把內迴圈看做特殊語句,這樣就是普通的迴圈了,先i=0迴圈執行迴圈內的語句,執行到內迴圈,特殊語句執行完(即內迴圈全部執行完一次),i++判斷i值,在執行即普通的迴圈。

c++for的迴圈巢狀先迴圈哪個?

21樓:pretty丶夏末

先迴圈巢狀裡面的迴圈,即裡面的乙個j先從0增加到100,然後外面的迴圈的i增加1,然後就又會跳到裡面的迴圈,裡面的迴圈又會迴圈100次,然後外面的迴圈的i又增加1,又到裡面,就這樣不斷的重複,知道外面的i增加到100,迴圈就結束了!望樓主採納,還有什麼不懂的可以追問!

22樓:匿名使用者

對於每個i都迴圈內層的j

c++中for迴圈巢狀變數的定義只作用於此迴圈範圍內麼?

23樓:網友

對於{}符號理解不夠透徹的原因,也就是程式為什麼要縮排的緣由比如int main()//在這裡會銷燬 變數c和dc = 1;//這裡會報錯,出了區域性變數的作用域return 0;

/在這裡會銷燬main內定義的所有變數。

24樓:網友

for中定義的變數,編譯器編譯後,是存放在棧空間上的乙個臨時記憶體位址,與變數名無關,一旦完成迴圈,棧位址會被複用,所以你那種寫法,編譯器在編譯的時候,無法理解這個變數生存週期,所以提示沒有定義。

25樓:水天之山

變數的作用域問題,for中定義的變數只在該for迴圈中有效,出了迴圈即釋放。

c++中的for迴圈要是執行上千萬次是不是系統開銷很大

26樓:匿名使用者

和開始用的資源沒區別,乙個累加的操作而已。你要是不停的分配記憶體,肯定會佔用很多資源。如果只是簡單的操作,佔用的資源是固定的。

27樓:匿名使用者

你個人覺得開銷大不?當然這要看使用怎樣的機器而論,開銷大否是按相對而言的。如果你用伺服器來執行,不會大。

28樓:匿名使用者

時間開銷大,空間開銷固定。

29樓:匿名使用者

執行上千萬次上幾次的系統開銷是一樣的啊,,,你說的是不是幾千萬次的for巢狀?

c++ for迴圈巢狀問題

30樓:

for(int i=1;i<=row;i++)//首先i=1,進行迴圈,每迴圈一次i就加1}

31樓:竹竹風子

把整型變數的 j 拿到外面定義去。

你這個每次開始第二次for迴圈是又重新定義一下j,並且重新將 j 賦值為1吶。

32樓:

到for迴圈中再來定義變數是不好的,原因請看上面幾樓,要養成好習慣,先定義再使用。

c語言迴圈巢狀怎樣從最裡邊的迴圈跳出來

雖然書上不建議使用goto,但有時候比如從多重迴圈跳出使用goto,簡潔,又方便。不濫用goto就可以了。不推薦使用goto語句。而return它是直接返回了。該函式執行完畢了。你可以使用這個return來實現。但是你只是單純跳出整個迴圈,而且還想繼續往下執行,那麼你就不能用return了。你可以把...

怎麼可以從巢狀的for迴圈跳到最外層

只能設定一個標誌變數,然後在break之前設定該變數為1,然後跳出後判斷該變數。自己來設變源量,根據變數,再跟。flag 0 forj i 1 1 forjj 1 p ifcont jj j ttd j flag 1 break endend ifflag 1 break endend 如何將兩個f...

ecelif函式巢狀最多是多少層?如何突破層數限制

excel if函式巢狀一般可以巢狀7層,解決方法如下 1 首先在電腦上開啟excel2007,進入下圖介面。2 然後在a1 中輸入1,a2 中輸入 1。3 接著在a3 中輸入if函式。4 if函式的第一個值輸入a1 0,第二個值考慮巢狀,輸入if a2 0,正確 錯誤 然後把第三個數值輸入 錯誤 ...