Τι κάνει το παρακάτω πρόγραμμα και γιατί; (δοκιμάστηκε σε Ubuntu 64-bit, πρέπει να λειτουργεί και σε 32-bit).
Το αποτέλεσμα βοηθάει να καταλάβουμε το πόσο σημαντικό είναι να χρησιμοποιούμε σωστά τους ενταμιευτές (buffers) στη C.
- Κώδικας: Επιλογή όλων
#include <stdio.h>
int calculate(void)
{
int i;
int p[9];
for ( i = 0; i <= 3; i++ )
if (sizeof(int*)==8)
p[i*6+2]+=15;
else
p[i*3 + 2] += 16;
}
int main()
{
calculate();
printf("Hello, World!\n");
return 0;
}
Διορθωμένο, δουλεύει σε 32-bit και 64-bit Ubuntu.