#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;
}
Merhaba, aldığım çıkış, işaretçinin neden artırılmasının gerekmediğini açıklayabilir mi? ve işaretçilerle aynı işi yapmanın uygun yolu.diziler dinamik 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 . . .
hey neden ama neden >> >> (p ++); Bu dizin 1'e gitmez mi? – CanyoucSharp
Her zaman '* (p ++)' yürütüldüğünde 'p',' Satış''daki bir sonraki hafıza adresini gösterecek şekilde artırılır. Eğer 'i 'günlerinde' * (p ++) 'yaparsanız,' Satış’a girdiniz. Bu bize "değişmez" bir "Satış" - P == i "verir, kod snippet'inde her zaman yazılı olan bir denklemdir. Ancak diğer kişilerin kodlarını okurken işaretçiler takip etmek biraz zor. Bu yüzden sadece Satış [i] 'sözdizimini kullanmanızı öneriyorum. –
Çok teşekkür ederim! – CanyoucSharp