掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
二維數(shù)組是C語言中常用的數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)多個(gè)相同類型的數(shù)據(jù),遍歷二維數(shù)組是指按照一定的順序訪問數(shù)組中的每一個(gè)元素,本文將介紹C語言中遍歷二維數(shù)組的幾種方法。

做網(wǎng)站、成都網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
按行遍歷是指從數(shù)組的第一行開始,逐行訪問數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù)。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { printf("%d ", arr[i][j]); } printf(" "); } return 0; }
按列遍歷是指從數(shù)組的第一列開始,逐列訪問數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制列數(shù),內(nèi)層循環(huán)控制行數(shù)。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; for (int j = 0; j < 4; j++) { for (int i = 0; i < 3; i++) { printf("%d ", arr[i][j]); } printf(" "); } return 0; }
按對(duì)角線遍歷是指從數(shù)組的左上角開始,沿對(duì)角線方向訪問數(shù)組中的元素,具體方法是使用兩重循環(huán),外層循環(huán)控制行數(shù),內(nèi)層循環(huán)控制列數(shù),需要注意的是,每次內(nèi)層循環(huán)結(jié)束后,需要更新行列的值。
示例代碼:
#includeint main() { int arr[3][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; int row = 0, col = 0; int n = sizeof(arr) / sizeof(arr[0]); // 獲取數(shù)組的行數(shù)和列數(shù) int m = sizeof(arr[0]) / sizeof(arr[0][0]); // 獲取數(shù)組的行數(shù)和列數(shù)(另一種寫法) for (row = 0; row < n; row++) { for (col = 0; col < m; col++) { if (row == col) { // 如果行數(shù)等于列數(shù),說明在對(duì)角線上,輸出該元素并更新行列值 printf("%d ", arr[row][col]); row++; // 更新行值,以便下次輸出下一個(gè)對(duì)角線上的元素時(shí),能夠正確地輸出當(dāng)前元素后面的元素(因?yàn)槊織l對(duì)角線上的元素個(gè)數(shù)是奇數(shù)) break; // 跳出內(nèi)層循環(huán),進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)對(duì)角線上的元素(即當(dāng)前元素的下一個(gè)元素) } else { // 如果行數(shù)不等于列數(shù),說明不在對(duì)角線上,直接跳過該元素,進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)元素(即當(dāng)前元素的下一個(gè)元素) continue; // 跳過本次內(nèi)層循環(huán),進(jìn)入下一次外層循環(huán)的內(nèi)層循環(huán),繼續(xù)輸出下一個(gè)元素(即當(dāng)前元素的下一個(gè)元素) } } } return 0; }

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流