0
#include <iostream>
using namespace std;
void main()
{
int numDays;
double sum = 0;
double avg;
cout << "Enter the number of days of sales";
cin >> numDays;
double *Sales = new double[numDays];
for (int i = 0; i < numDays; i++)
{
cout << "enter how much you sold for day " << i << endl;
cin>>*Sales;
sum = sum + *Sales;
cout << Sales;
}
delete[] Sales;
avg = sum/(numDays);
cout << "the sum is" << sum << endl;
cout << "the avg is" << avg << endl;
}
こんにちは、これは、私が得ることができる理由は、ポインタがインクリメントされる必要がない理由を説明することができますか?ポインタを使って同じタスクを実行する正しい方法です。配列ポインタダイナミックC++
Enter the number of days of sales2
enter how much you sold for day 0
1
0050CD70enter how much you sold for day 1
2
0050CD70the sum is3
the avg is1.5
Press any key to continue . . .
ねえ、なぜシネ>> *(p ++);それはインデックス1に行きませんか? – CanyoucSharp
'*(p ++)'が実行されるたびに 'p'がインクリメントされて' Sales'の次のメモリアドレスを指し示します。 'i'日間に' *(p ++) 'を実行すると、' Sales'に 'i'というエントリがあります。これは、私たちに "不変の" Sales - p == i'という式を与えます。この式はコードスニペットに書かれているように常に真です。しかし、ポインターは他の人のコードを読むときに一緒に従うのは少し難しいです。ですから、私は 'Sales [i]'構文を使うことをお勧めします。 –
ありがとうございました! – CanyoucSharp