Consider the following C program
#define FIRST int main() { int x, y, z; #ifdef FIRST x=2; y=6; z=4; #else printf("Enter x:"); scanf("%d", &x); printf("Enter y:"); scanf("%d", &y); printf("Enter z:"); scanf("%d", &z); #endif printf(“x:%d\ny:%d\nz:%d”); return 0; }Note that if FIRST is defined using the #define, the values of x, y and z are hardcoded to values of 2, 6 and 4. When FIRST is defined, all that is passed to the compiler is the code between the #ifdef and the #else. The code between the #else and the #endif is not seen by the compiler and is simply ignored. It is as if it were all a comment.
Once you have your routine working, and desire to insert the printf and scanfs, all that is required is to go back and delete the the #define FIRST. Now, the compiler now ignores the following statements:
a=2; b=6; c=4;
but does see the printf and scanfs.
Quite often you will have code which doesn't work, but you really don't want to throw it away. I see many students doing this;
/*
unwanted code
*/
And this is acceptable. Of course a problem arises is you have a
comment in the unwanted code.
Thus, it is better to do this
#ifdef OLD unwanted code #endif
No comments:
Post a Comment