伊莉討論區

標題: (以解決)for迴圈裡加入if導致無法正常printf [打印本頁]

作者: gordonjohn12    時間: 2018-10-12 11:24 AM     標題: (以解決)for迴圈裡加入if導致無法正常printf

本帖最後由 gordonjohn12 於 2018-10-15 01:47 AM 編輯

各位前輩好

新手我想請教一下,原先的用意是先把簡單的二維陣列列印出外,
也可以加入條件if來讓a和b來做疊加,
最後在用printf印出ab值。

在沒有加入if之前印出陣列是沒有問題,
可加入了if後連原先的陣列列印都錯了,
想請教問題出在哪,
怎麼想都想不透。

以下附圖:

[attach]125205573[/attach][attach]125205574[/attach]

補充內容 (2018-10-12 11:29 AM):
補充一下: 我是希望可以做到1.先列出陣列2.再讓'列'相加,並最後顯示出各'列'(a,b)的值。
作者: jackyo04    時間: 2018-10-12 04:13 PM

你有沒有試試,在if裡面printf值看看,看值有沒有跑進去,也可以用中斷去檢查,下個中斷點,看看,譬如中斷點下在if內的printf,你就可以檢查它的值是不是你要的
作者: ren1244    時間: 2018-10-12 05:30 PM

比較兩個數字是「==」
「=」是設定變數用的

作者: gordonjohn12    時間: 2018-10-15 01:43 AM

jackyo04 發表於 2018-10-12 04:13 PM
你有沒有試試,在if裡面printf值看看,看值有沒有跑進去,也可以用中斷去檢查,下個中斷點,看看,譬如中斷 ...

以解決了 如同3樓說的 我忘了必須要用"=="。謝謝回答
作者: gordonjohn12    時間: 2018-10-15 01:47 AM

ren1244 發表於 2018-10-12 05:30 PM
比較兩個數字是「==」
「=」是設定變數用的

真的是魔鬼藏在細節...謝謝 編譯都沒問題,讓我忽略這個問題
作者: johnwanz    時間: 2018-10-24 09:41 AM

以前看過一種作法, 是把if的條件式反過來寫.
  1. if(i == 0) => if(0 == i)
複製代碼
當寫錯的時候,
  1. if(i = 0) //編譯正常
  2. if(0 = i) //編譯錯誤
複製代碼
不過, 這種寫法最好能有一致性, 應避免在單一程序中, 同時有不同的寫法.
作者: z1090128    時間: 2018-10-27 01:47 PM

要用==喔!這應該是蠻基本的語法
判斷一定是用雙等號




歡迎光臨 伊莉討論區 (http://www2.eyny.com/) Powered by Discuz!