看板 C_and_CPP 關於我們 聯絡資訊
我在寫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)
xatier:然後我把ans = a;那行搬到scanf("%lld", &a)下面就OK了 10/05 16:31
xatier:為什麼會這樣?? 10/05 16:32
VictorTom:else要緊接在if/else if的block之後, 你ans=a;插在中間 10/05 16:42
VictorTom:不合語法, 自然compiler不會讓你過; 至於那行到底該放哪 10/05 16:43
VictorTom:請你自己研究一下自己的code flow再決定吧:) 10/05 16:43
xatier:對厚,差點忘了,謝謝大大的指點 10/05 16:49