這是我正在開發的程序,它很簡單,但幫助我找出C++的基本知識。我正在努力使用指針,並試圖瞭解它是如何工作的。數組中的值的總和返回內存地址,除非sizeof(array)/ 2
int main()
{
unsigned int note;
unsigned int nombreDeNotesASaisir = 0;
unsigned int totalDesNotes = 0;
cin >> nombreDeNotesASaisir;
int* tableauDeNotes = new int[nombreDeNotesASaisir] {};
for (int i = 0; i < nombreDeNotesASaisir; i++)
{
cin >> note;
tableauDeNotes[i] = note;
}
// method that is supposed to make the sum of all the values inside the array
for (int i = 0; i < sizeof(tableauDeNotes); i++)
{
totalDesNotes += *(tableauDeNotes + i);
}
cout << "le total des notes est de :" << totalDesNotes << "\n";
//print the average of all the marks
unsigned int moyenne = totalDesNotes/nombreDeNotesASaisir;
cout << moyenne << ' ';
return 0;
}
我不能似乎得到的操作,相反,我覺得我得到的內存地址,這是爲什麼,我能做些什麼來得到它的工作的結果呢?
PS:奇怪的是,當我劃分的sizeof(陣列)/ 2則返回值
你做'new int [0]'... – Jarod42
另外,'sizeof(tableauDeNotes)'計算的是指針的大小,而不是數組中的項目數。 –