我正在嘗試做一些應該很簡單的事情。我正在創建一個只有1個元素的數組。這就是座標x y zC中的3D數組並打印其內容
所以我想到了Id爲1和3列組成的數組,1列爲x y和z。因爲這個數字將不斷更新,我不需要前一點的內存,所以它只是要不斷地重寫
所以在這裏我不需要再行是我的數組
int coordinates[1][3] = {1,1,1};
這就是我想知道如果我建立它是正確的,並打印出值。
printf("%d %d %d\n", coordinates[1][1],coordinates[1][2],coordinates[1][3]);
printf("\n");
我的想法,這將打印第1個1列,行1列2和第1分3列
什麼是錯在這裏我的想法?作爲我的結果,我沒有得到1 1 1
。我得到了隨機數字。
我對C不太熟悉。這看起來微不足道,我開始把我的車輪旋轉太多。
編輯:我工作的事情過程(另見註釋)
「這是我想的第一件事就是回想起陣列101和索引爲n-1,因爲這似乎是我得到的隨機元素。內存地址超出數組邊界。仍然沒有工作,不幸的是我開始打我的頭撞牆了。「
我曾嘗試
printf("%d %d %d\n", coordinates[0][0],coordinates[0][1],coordinates[0][2]);
printf("\n");
但我再次得到了隨機數
結論
好吧,我終於想通了,我在做什麼錯。你們都是對的。我正在尋找我的代碼錯誤的地方。感謝您的及時回覆。發生了什麼是我最初稱我的座標爲我的代碼中的一個浮點數。我沒有複製並在這裏過去,所以我在這裏稱它爲int。所以當我嘗試使用%d打印文件時,它試圖打印一個浮點數,導致結果混亂。我將%d切換到%f(我不知道printf是如何工作的,我猜),它工作!綠角錯誤,我很抱歉!再次感謝您的幫助!
這是我嘗試的第一件事。回想數組101和索引是n-1,因爲它好像是在數組邊界外的隨機存儲器地址中獲取元素。不幸的是,我仍然無法工作,開始毆打我的頭撞牆。 – CoffeePeddlerIntern
@CoffeePeddlerIntern printf(「%d%d%d」,座標[0] [0],座標[0] [1],座標[0] [2]);應該工作正常。代碼很好。 – LearningC