Re: [問題] 請教程式的執行順序
※ 引述《stator (別急著吃棉花糖)》之銘言:
: #include <stdio.h>
: int f(int a){printf("*");return a+1;}
: int main()
: {
: int a=1;
: for (a=a+1;f(a)<5;a+=1)
: {
: printf("*");
: }
: return 0;
: }
: 這樣印出來是*****五顆星
for 只是一種語法糖喔,C++ 標準
for(A;B;C) {D;} 相當於
{
A;
while(B)
{
D;
-> 但注意這裡才是在 for-loop 中 continue 跳到的位置
C;
}
}
B是執行的條件,不寫叫做無條件執行
但是有一點要注意的是,如果你有 continue
真的用 while 寫,是直接跳到執行條件去檢查
但是用 while 的概念來表示(或重寫) for 時,
要跳到 C 之前才是正確的(重寫則要想辦法跳到 C 之前)
另外老編譯器可能沒有最外層的括號~~所以有些人會自己在 for 迴圈外加括號
所以你就可以數自己究竟判斷了幾次,還有 D 執行了幾次,就知道有幾個 * 囉
※ 編輯: applecool 來自: 123.110.214.94 (05/24 21:38)
討論串 (同標題文章)