Witam.
Mam pytanie do użytkowników programu Dev-C++.
Kupiłem sobie książkę do C++ i doszedłem do miejsca gdzie jest ostrzeżenie przed przekroczeniem indeksu tablicy, iż tak jak to napisał autor, takie programy mogą załamać system.
Nie które programy z kompilatorami podobno wyłapują ten błąd i wyświetlają co jest nie tak. Jak to uaktywnić w Devie?
Mam taki program:
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
system("chcp 1250");
system("cls");
long TargetArray[25];
int i;
for(i=0; i<25; i++){
TargetArray[i]=i;
}
cout<<"Test 1: \n";
cout<<"TargetArray[0]: "<<TargetArray[0]<<endl;
cout<<"TargetArray[24]: "<<TargetArray[24]<<endl<<endl;
cout<<"\nPróba przypisania wartości poza granicą...";
for(i=0; i<=25; i++){
TargetArray[i]=i;
}
cout<<"\nTest 2: \n";
cout<<"TargetArray[0]: "<<TargetArray[0]<<endl;
cout<<"TargetArray[24]: "<<TargetArray[24]<<endl;
cout<<"TargetArray[25]: "<<TargetArray[25]<<endl<<endl;
return 0;
}
Tablica ma 25 elementów więc od 0 do 24.
pierwsza pętla jest poprawna, ale druga przecież nie. Przy TargetArray[25] powinien się wyświetlić błąd, a zamiast tego wyświetla mi liczbę, jakby nie przekroczyło zakresu tablicy.
Nie biorę pod uwagę innych programów. Dev jest dla mnie najbardziej wygodny. Reszta raczej jest zbyt rozbudowana jak dla mnie. Zaraz się gubię w nich.