#include <iostream>
using namespace std;
int main()
{ int i=-1;
int a[10];
for(int j=0; j<10; j++) a[j]=j;
for(int j=0; j<10; j++) cout << a[j] << " ";
cout << "\na[i++] " << a[i++] << endl;
cout << "i " << i << endl;
cout << "i++ " << i++ << endl;
cout << "i " << i << endl;
system("pause");
return 0;
}
Czy ktoś mógłby mi opisać krok po kroku, jak on działa? Z tego, co mnie się wydaje, zasada działania inkremetacji przyrostkowej opiera się na zwracaniu "starej" wartości zmiennej inkrementowanej (w przeciwieństwie do inkrementacji przedrostkowej, czyli ++i). To kiedy w końcu zmienia się wartość tej zmiennej?I jeszcze taka jedna uwaga. W Dev przy wyświetlaniu pierwszy raz a[i++] pojawia się wartość 10, natomiast w Visual Studio jakaś duża ujemna liczba - to też mnie interesuje, skąd takie dziwne wartości są? Tzn. domyślam się, że to przez tę inkrementację -1, ale mimo wszystko jestem ciekawa, co tak właściwie się tam dzieje.
Ach, jeszcze kolejna sprawa. W Dev jak zmieniłam fragment kodu
int a[11];
for(int j=0; j<11; j++) a[j]=j;
for(int j=0; j<11; j++) cout << a[j] << " ";
cout << "\na[i++] " << a[i++] << endl;To tym razem a[i++] zwraca wartość 11, czyli "jakby odwoływał się" do tego, co jest w zmiennej j.
Użytkownik Katarina edytował ten post 23 03 2010 - 19:48








