Bu yüzden profesörüm dersimi bu programı yürütmesini söyledi, bilgisayar belleğinde neler olduğunu gösteriyor. Ben koştuğumda, çıkış dosyam profesörün ilk 4 satırlık çıktı dosyasıyla aynı sayılara sahipti ve sonra da bundan sonra tamamen farklı sayılar vardı. Ama bu kesinlikle rastgele sayılar çekiyor gibi görünmüyor, çünkü çıktıların birçoğu 0'dur ve bir çoğu da benzer uzunluklarda çok sayıdadır. Bunu açıklayan var mı?Bilgisayar belleğinde neler oluyor?
#include <iostream>
#include <fstream> // for files
#include <cstdlib> // for exit
#include <climits> // for INT_MAX etc.
int main()
{
using namespace std;
ofstream outfile;
outfile.open("Whats_in_computer_memory.txt");
cout << "In this program, we declare a small array and then use array syntax " << endl
<< "to see what is in the computer's memory. " << endl
<< " " << endl
<< " " << endl
<< " " << endl
<< " " << endl
<< " " << endl;
int a[1];
int histogram[214749];
for (int i = 0; i < 214749; i++)
{
histogram[i] = 0;
}
cout << "&a[0] = " << &a[0] << endl
<< "&histogram[0] = " << &histogram[0]<< endl
<< " " << endl;
cout << INT_MAX << endl;
for (int i = 0; i < 1000; i++)
{
outfile << a[i] << endl;
//cout << INT_MAX/1000000 +a[i]/1000000 << endl;
//histogram[ a[i]/1000000 ]++;
}
for (int i = 0; i < 2 ; i++)
{
cout << histogram[ i ] << endl;
}
char dummy;
cin >> dummy;
return 0;
}
Programın çıkışı nedir? – user463035818
Ne görmek istediniz? Bir dizinin sınırlarını geçiyorsun. Program size herşeyi gösteriyor olabilir. Açıkça yasadışı olan, ancak havalı olan şeyleri kullanarak "C++ ne kadar güçlü" olduğunu göstermeye çalışan profesörlerden biri mi? –
Profesörünüz tanımlanmamış davranışlardan hoşlanıyor mu? – Chad