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,正確 錯誤 然後把第三個數值輸入 錯誤 ...