[ apr4g @ 06.08.2004. 14:54 ] @
Tek sam poceo da radim s Visual Cppom, pa mi nije jasno zasto ovaj jednostavan program ne radi:

#include <stdio.h>
main()
{
char *s;
*s='a';
}

Posle kompajliranja i startovanja javlja standardnu Windows poruku:
program1.exe has encountered a problem and needs to close. We are sorry for the inconvenience.

U cemu je stvar, posto sam siguran u ispravnost programa, a radi u starom Tcu.
[ filmil @ 06.08.2004. 15:05 ] @
Program je neispravan. Upisuješ u memoriju koja nije alocirana.

U TC-u prođe bez greške jer DOS nema mehanizam za zaštitu memorije, ali to ne znači da je program ispravan.

Dokaz:

Napravi malu izmenu:

Code:

#include <stdio.h>
char *s;
main()
{
  *s='a';
}


prevedi TC-om program i pokreni ga, i trebalo bi da dobiješ poruku Null pointer assignment.

f

p.s. ubr zanima me zbog čega si bio tako siguran da je program ispravan?