[問題] 新手除錯練習

看板C_and_CPP作者 (風大雨大)時間12年前 (2013/05/15 06:43), 編輯推噓2(2013)
留言15則, 6人參與, 最新討論串1/1
正開始學C++ 很基本的題目,還希望大家指正>""< 題目:這是一個跟酒精影響相關的小程式,其中有許多錯誤 要除錯,並且讓程式一發現錯誤就要終止 include <iostream> Using namespace std bool echo_square(int a=5, int b); { cout << a, b << endl; } int main(void) { int j =1; int &t; t =j; j++; for(i =0; i<=10; i=(i%j)?++i:i+=2) if(i=0) echo_square (0, 0) else echo_square(i, i*i); } 以下是我改過的: #include <iostream> using namespace std; bool echo_square(int a=5, int b=3){ cout << a + b << endl; } int main(int argc, char** argv) { int j =1; int i; int &t=j; j++; for(i=0; i<=10; i=(i%j)?++i:i+=2) if(i=0) echo_square (0, 0); else echo_square(i, i*i); return 0; } 可編譯 但執行跑出無限的0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 46.223.211.3 ※ 編輯: subtropical 來自: 46.223.211.3 (05/15 06:48)

05/15 07:21, , 1F
(i=0)
05/15 07:21, 1F

05/15 07:54, , 2F
是指這邊嗎? i=(i%j)?++i:i+=2)
05/15 07:54, 2F

05/15 09:23, , 3F
下一行
05/15 09:23, 3F

05/15 10:26, , 4F
i = 0 versus i == 0
05/15 10:26, 4F

05/15 12:35, , 5F
i=0 跟 i==0兩個不同
05/15 12:35, 5F

05/15 12:36, , 6F
話說你的for跟if後面為什麼不想要加上 { } 呢
05/15 12:36, 6F

05/15 15:19, , 7F
也請問bool echo_square(int a=5, int b);是甚麼意思
05/15 15:19, 7F

05/15 15:20, , 8F
定義namespace下的新參數echo_square嗎?
05/15 15:20, 8F

05/15 15:20, , 9F
然後單純印出a跟b? b我隨便給了一個值..不知道
05/15 15:20, 9F

05/15 15:21, , 10F
有沒有符合題意
05/15 15:21, 10F

05/15 15:22, , 11F
在c++裡面if後可加{}也可不加?我以為越節省越好><
05/15 15:22, 11F

05/15 15:22, , 12F
所以通常會加嗎?
05/15 15:22, 12F

05/15 15:25, , 13F
先搞清楚加不加各是什麼意思
05/15 15:25, 13F

05/15 15:25, , 14F
然後通常愈囉唆愈好
05/15 15:25, 14F

05/15 15:34, , 15F
不加程式也不會跑比較快
05/15 15:34, 15F
文章代碼(AID): #1HahujzB (C_and_CPP)