[問題] 指派

看板C_and_CPP作者 (一串電研阿飄先生)時間14年前 (2009/10/05 16:26), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
我在寫ZJ的d468: 簡單求冪題 http://zerojudge.tw/ShowProblem?problemid=d468 編譯器(Dev C)告訴我else 前面的分號有問題 然後我把 ans = a; 這行注釋掉就沒問題了 但這樣一來這個程式不就沒用了0.0 請問各位大大為什麼會這樣呢?? #include <stdio.h> int main () { long long a, n, i, ans; while (scanf("%lld", &a) != EOF) { scanf("%lld", &n); if (a == 0 && n == 0) { printf("All Over.\n"); break; } ans = a; else { for (i = 0; i < n; i++) { ans = ans*a; } printf("%lld", ans); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.60.107.233 ※ 編輯: xatier 來自: 210.60.107.233 (10/05 16:26)

10/05 16:31, , 1F
然後我把ans = a;那行搬到scanf("%lld", &a)下面就OK了
10/05 16:31, 1F

10/05 16:32, , 2F
為什麼會這樣??
10/05 16:32, 2F

10/05 16:42, , 3F
else要緊接在if/else if的block之後, 你ans=a;插在中間
10/05 16:42, 3F

10/05 16:43, , 4F
不合語法, 自然compiler不會讓你過; 至於那行到底該放哪
10/05 16:43, 4F

10/05 16:43, , 5F
請你自己研究一下自己的code flow再決定吧:)
10/05 16:43, 5F

10/05 16:49, , 6F
對厚,差點忘了,謝謝大大的指點
10/05 16:49, 6F
文章代碼(AID): #1AoQsRSd (C_and_CPP)