GNU GCC編譯器 這是一個函數:int sumsintriangle(int *a,int n)
其中a是一個n×n矩陣。 爲了某種目的,我添加如何成功將2D數組傳遞給函數?
if(*(a+(i+1)*n+(j+1)) > *(a+(i+1)*n+j))
條件,我的代碼,這是正常工作;當條件是正確的價值觀如此。 但是當我加入
sum=sum + *(a+(i+1)*n+(j+1));
然後它沒有工作相同的代碼(例如,讓說,和最初1和*(a+(i+1)*n+(j+1)
爲4),然後求和5..but它給了我應該給我1作爲輸出...爲什麼? 即使當我在printf
函數中調用相同的值*(a+(i+1)*n+(j+1))
時,對於只是一個查詢,它會給我4(原始值)作爲輸出...?
爲什麼*(a+(i+1)*n+(j+1))
與printf
正常工作,但是當我用sum調用它時,它給了我不正確的值?
這裏N是什麼表示? – Logicbomb 2015-03-31 12:46:39
請顯示您的嘗試代碼,格式正確。 stackoverflow.com幫助描述瞭如何格式化。 – lurker 2015-03-31 12:48:39
您需要展示更多的代碼(但仍然不是*您的所有代碼),例如我想你有一個for循環來解析你的矩陣,可能會有一些邊界問題。實際上**很奇怪,你必須給索引加1。您還顯示瞭如何/何時初始化總和。 – Antonio 2015-03-31 12:56:35