argp.c
K&R, p. 53
download
#include <stdio.h> // for printf()
// arguments evaluation precedence
int main()
{
int i = 0; // initialize
printf("i = %d\n++i = %d\ni = %d\n\n", i, ++i, i);
i = 0; // reset
printf("i = %d\ni++ = %d\ni = %d\n\n", i, i++, i);
i = 0; // reset
printf("i = %d\n++i = %d\ni++ = %d\ni = %d\n\n", i, ++i, i++, i);
i = 0; // reset
printf("i = %d\ni++ = %d\n++i = %d\ni = %d\n", i, i++, ++i, i);
return 0;
}
/*
gcc argp.c -o argp
./argp
i = 1 // before incrementation, holds final value
++i = 1 // final value, after incrementation
i = 1 // after incrementation, holds final value
i = 1 // before incrementation, holds final value
i++ = 0 // holds initial value
i = 1 // after incrementation, holds final value
i = 2 // before any incrementation, holds final value
++i = 2 // final value, after both incrementations
i++ = 0 // holds initial value
i = 2 // after incrementations, holds final value
i = 2 // before any incrementation, holds final value
i++ = 1 // value after one incrementation
++i = 2 // final value, after both incrementations
i = 2 // after incrementations, holds final value
*/
Comments
Post a Comment