Jump to: navigation, search

Week 2

1,128 bytes added, 13:44, 20 May 2010
no edit summary
This will print 50, not 60. It replaces SUM with a+b then operator precedence allows it to multiply first before addition.
''#define SUM(x, y) (x+y)''
''printf("%d\n", SUM(i, j)*2);''
''printf("%d\n", SUM(a, b)*2);''
Those two statements will have ''i+j'' and ''a+b'' instead.
Why not replace SUM(a, b) to a+b in the code instead of telling SUM to do it for you before compilation?
You might need to change several different things. Could also make it easier to manage code?
Another example: ''#define MAX(x, y) ((x)>(y)?(x):(y))''
<u>Conditional Compilation</u>
With conditional compilation you can tell the compiler to only compile a section of the code.
''#define COMPINT 1''
''#define COMPDOUBLE 2''
''#define COMP COMPINT''
In the code:
''#ifdef COMP == COMPINT''
''#ifdef COMP == COMPDOUBLE''
It will only compile the first if statement and the else statement.
Thursday May 20, 2010
Cursor Movement Low-Level Header Files:
'''Platforms: Headers: '''
BCC: conio.h
VCC: windows.h and conio.h
Linux: ncurses.h
Unix: curses.h

Navigation menu