在do while語句中使用continue的誤解

2021-07-10 18:59:40 字數 331 閱讀 3311

先貼一段**:

int i = 0;

dowhile(++i < 10);

以前我一直以為,continue就是跳轉到do開始的位置,所以就認為上面這段程式將會是乙個死迴圈。其實卻不然,continue會跳到「}」處,並不會跳過do while的條件判斷。

下面是摘自cppreference上對continue的定義舉例:

do  while (/* ... */);
continue相當於是跳轉到標籤contin,所以while()中的語句是正常執行的。

continue的定義:

switch語句中使用break???

break是跳出迴圈使用的。而在switch語句中使用switch語句是結束switch語句。比如 switch x 如果沒有break語句,且x 1 的情況下輸出的結果是 這是一樓 這是二樓 這是三樓 這是default語句 這裡大家注意,switch語句中的x並不是判斷,而是從這個開始繼續往下執...

Define 語句中的do while 0

經常在define語句中看到用do while 0 將乙個程式片段包起來,一直感覺很奇怪,經查詢,才發現這是在define語句使用中的乙個tricky的情況。define表達使用do while 0 的兩個例子 define list insert after listelm,elm,field d...

用列舉方法 在case 語句中使用字元

首先引用typinfo單元 type tcommandenum aa,bb,cc,dd,ee,ff,gg,hh procedure tcommandprocess.processcmd chn byte cmd,s string var cmdenum tcommandenum begin cmde...