Mentor for C self study wanted
bruce at cran.org.uk
Tue Oct 23 15:37:13 PDT 2007
> There's a mismatch here: scanf("%d", ...) expects a pointer to int,
> while &nnote is a pointer to a short. Normally, an int occupies more
> bytes in memory than a short (typically sizeof(int) == 4 on 32bit
> platforms, and sizeof(int) == 8 on 64bit platforms; while typically
> sizeof(short) == 2).
I think short and int stay the same on both 32 and 64 bit platforms,
while it's only long that gets bumped to 8 bytes. At least that seems
to be what happens on FreeBSD amd64.
More information about the freebsd-questions