[問題] for巢狀迴圈搞上if else的怪問題??

看板C_and_CPP (C/C++)作者 (☆癡心處男乖寶寶☆)時間14年前 (2011/10/27 20:01), 編輯推噓4(4036)
留言40則, 6人參與, 最新討論串1/1
int main( ) { int ch=0; for(int i=0;i<5;i++){ for(int j=0;j<5;j++){ if(ch = = 0){ cout<< '*'; ch=1; } else{ cout<< '-'; ch=0; } } cout<< '\n'; } return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 輸出結果:*-*-* -*-*- *-*-* -*-*- *-*-* ========================================================================= 請問板上強者大大~~ 我搞不懂....上面的程式中,if else怎麼不會變成*跟-這樣一直無窮下去??? 不是當執行到else底下的ch=0時,又會跑回去測試ch= =0的條件式嗎?? 它為何會有終止的一天呢??? 懇請解惑~~3Q very much!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.41.150 asilzheng:if else又不是迴圈 任一個block只會執行一次呀 10/27 20:07

10/27 20:36, , 1F
外迴+內迴總共也才25次……
10/27 20:36, 1F
→ diabloevagto:需要好好看一下迴圈的概念... 10/27 20:40 asilzheng:另外 怎麼會寫ch= =0 ?? 這寫法超怪異的 10/27 20:44 azureblaze:是==不是= = = = 10/27 20:44 purpose:從藝術的角度來看,這 = = 的確比較有美感 10/27 21:38 vic0330:= = 10/27 21:45 喔~~感謝大大們!~原來是迴圈的觀念誤用了喔~哈~我再思考看看好了~ 對了!說到= = 跟== 我一直有個困惑~ "== " 這是指定運算子中"指定"概念,而"= =" 這是關係運算子"等於"的概念~ 這究竟有什不同??實際上似乎沒差耶~~ EX: int x=5 跟 int x= =5 請問這不是同樣代表x的值是5嗎?? 我一直想不懂這個問題耶~~~@=.=@ ※ 編輯: superman999 來自: 118.171.41.150 (10/27 22:57)

10/27 23:00, , 2F
== 怎麼會是指定的概念...
10/27 23:00, 2F

10/27 23:01, , 3F
指定(assign)是「=」,等於(equal)是「==」
10/27 23:01, 3F

10/27 23:01, , 4F
int x=5 意思不是把5這個數指定給變數x嗎??
10/27 23:01, 4F

10/27 23:02, , 5F
C 語言從來沒有 "= =" 的存在過。
10/27 23:02, 5F

10/27 23:02, , 6F
int x == 5; 或 int x = = 5; 編譯根本不會過啊...
10/27 23:02, 6F

10/27 23:04, , 7F
咦?書上C++有寫關係運算子有"= ="耶~
10/27 23:04, 7F

10/27 23:04, , 8F
== 是連在一起的,不能分開寫成 = =
10/27 23:04, 8F

10/27 23:05, , 9F
那不就書寫錯了???!!!o(><;)o o
10/27 23:05, 9F

10/27 23:16, , 10F
OK~~姑且暫不說這符號問題~~請問"指定"跟"等於"
10/27 23:16, 10F

10/27 23:16, , 11F
快去買 C++ Primer
10/27 23:16, 11F

10/27 23:19, , 12F
真 有 不 同 嗎??? a=9 vs a==9 究竟差在哪?
10/27 23:19, 12F

10/27 23:20, , 13F
快去買 C++ Primer
10/27 23:20, 13F

10/27 23:20, , 14F
這兩者output的值...不都是9嗎??(想不懂~~>.<)
10/27 23:20, 14F

10/27 23:21, , 15F
「使a等於9」和「a是否等於9」一樣嗎
10/27 23:21, 15F

10/27 23:21, , 16F
我已經買入門款C++的書了~我覺得講的非常淺顯易懂~
10/27 23:21, 16F

10/27 23:22, , 17F
我還不適合直接看C++ Primer這種進階的書~
10/27 23:22, 17F

10/27 23:23, , 18F
程式是用寫的不是用看的,寫寫看你就知道哪裡不一樣
10/27 23:23, 18F

10/27 23:23, , 19F
a大!~~a==9不就是關係運算子的觀念:a等於9的意思嗎?
10/27 23:23, 19F

10/27 23:25, , 20F
「你是一個男人」跟「你是不是男人?」有差吧? XD
10/27 23:25, 20F

10/27 23:25, , 21F
寫成程式就是「you = MAN」與「you == MAN」了
10/27 23:25, 21F

10/27 23:26, , 22F
應該是「把你變成男人」和「你是不是男人?」XD
10/27 23:26, 22F

10/27 23:27, , 23F
j大!~不對捏!只是單純a==9,並不是if(a==9)耶~~=.="
10/27 23:27, 23F

10/27 23:28, , 24F
if (you == MAN) { XXX } :如果你是男人,那就 XXX
10/27 23:28, 24F

10/27 23:28, , 25F
單純的 a == 9 得到的就是一個「是」或「否」的答案
10/27 23:28, 25F

10/27 23:28, , 26F
you == MAN 得到的也是一個「是」或「否」
10/27 23:28, 26F

10/27 23:29, , 27F
我越搞越糊塗...."=="這個表關係的運算子是疑問句?!
10/27 23:29, 27F

10/27 23:30, , 28F
沒錯,它是一個「疑問句」
10/27 23:30, 28F

10/27 23:30, , 29F
可是書上卻說"=="這個符號是"等於"的意思~~
10/27 23:30, 29F

10/27 23:30, , 30F
然後if是如果這個問句的答案是「是」的話做某些事
10/27 23:30, 30F

10/27 23:31, , 31F
要嘛書沒寫清楚,要嘛是你沒看清楚...
10/27 23:31, 31F

10/27 23:31, , 32F
解釋成「是否等於」會比較好
10/27 23:31, 32F

10/27 23:31, , 33F
"<=" ">=" "==" ">" "<" 這些不都是關係運算子??
10/27 23:31, 33F

10/27 23:31, , 34F
中文的「等於」文意很模糊
10/27 23:31, 34F

10/27 23:32, , 35F
"<=" 是否小於等於 ">=" 是否大於等於 ">" 是否大於
10/27 23:32, 35F

10/27 23:32, , 36F
關係運算子得到的就是「是」與「否」的答案
10/27 23:32, 36F

10/27 23:32, , 37F
所以a<=9 這表示"a是否小於或等於9"~是這個意思嗎??
10/27 23:32, 37F

10/27 23:33, , 38F
是的
10/27 23:33, 38F

10/27 23:35, , 39F
哇塞!~原來如此啊!我再思考看看..感謝各位不吝賜教!
10/27 23:35, 39F

10/27 23:37, , 40F
是非題: ( ) 1. 1等於2。 大概是這種感覺吧
10/27 23:37, 40F
文章代碼(AID): #1EgKW0pL (C_and_CPP)
文章代碼(AID): #1EgKW0pL (C_and_CPP)