我們老師講課真的是一言難盡,只叫我們自己看書,也不會給我們解釋…


uj5u.com熱心網友回復:
最后那句s++有問題uj5u.com熱心網友回復:
要學會除錯,按下f11,f10吧uj5u.com熱心網友回復:
s = &b[0];for(i = 0 ; i < 3 ; i++)
{
k = 0;
for(j = 0 ; j < 3 ; j++)
{
k = k + a[i][j];
}
b[i] = k;
cout << *s << endl;
++s;
}
如果要用一個指標,首先要確定這個指標是有效的,你的s根本沒有賦值,指向的區域是未知的,是個無效指標,所以*s = b[i]這句就會報錯
uj5u.com熱心網友回復:
好的好的謝謝
uj5u.com熱心網友回復:
大學了, 不是小學, 教課的方式就是這樣才對, 只講理論和方法, 剩下都要自學的你當大學給你留那么多自習時間是讓你玩兒游戲的嗎?
都是讓你自學的, 自學能力是大學第一要學會的本領
即便不是大學,也要盡早掌握這個能力
本想寫一些代碼的,想想算了, 具體代碼你們繼續折騰吧
有兩點,可以參考一下:
一、陣列的指標和指標的陣列不是一個概念
int (*p)[3]; 這個才是指向一維陣列的指標
p = a[0]; 這才是合法的賦值, a[0], a[1],a[2] 同樣是指向陣列的指標
int *p[3]; 這個是一個陣列, 陣列元素的型別是int*
這么定義的p
p[0] = a[0]這個就是錯誤的,型別不匹配
二 、 二維陣列可以當做一維陣列來用
int a[3][3];
int *p = &a[0][0]; 這個p就可以p[0] ~ p[9]的訪問二維陣列的所有內容了
比如,初始化, 就可以寫成
for (I=0; I<9; I++)
*p++ = rand()%100;
計算第一列的和
int s=0;
fot(i=0;i<3;i++) s +=*p, p+=3; // p+=3就是到了下一列的位置
自己研究也挺好, 在bug堆里面尋找整理吧。
uj5u.com熱心網友回復:
我覺得你說的沒錯,但是我們老師連原理都講不清況且現在是網上授課,我也在自己看書琢磨,搞到凌晨兩三點…
uj5u.com熱心網友回復:
謝謝你的指導。
uj5u.com熱心網友回復:
填鴨式教育與自主學習在大學的轉變是一個門檻,對有些人在來簡單,對有些人來說難。學習是一個簡單是事,運用是一個難的事,老師教了前者沒有教會后者,所以你們會迷茫,失去興趣,解放自我。
但凡能發帖詢問的,我認為都是有求知欲的,至少你掌握了一個工具,雖然不怎么好用。學校問老師,作業問領導,他們才是最好的工具。
我給出解答思路:
一、整數3X3方針,int型別的二維陣列并且需要進行賦值,不然后面無意義,主要為對二維陣列的遍歷。
1、輸出方針,對二維陣列進行回圈輸出,嵌套回圈。
2、求和,橫為行,豎為列,與輸出一樣回圈對應行或列計算累加。
3、最大值,回圈比較行或列值。
二、指標陣列,排序,考察指標與遍歷排序
了解什么是指標陣列,存放指標的陣列,其中對應的指標指向對應的字符二維陣列行,排序就是對二維陣列的每行首字母比較大小排序指標陣列。
三、指標函式
需要了解什么是指標函式,函式傳參與轉換演算法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124468.html
標籤:C++ 語言
上一篇:求解c語言檔案問題
下一篇:為什么換了一下順序就不行啊
