3 ms·
Ah okay, I understand what you meant now. One thing however - if it is a macro, couldn't it just be: #define getc fgetc_or_similar At least C89/90 only ment
by nuxi 16y ago
Ah okay, I understand what you meant now.
One thing however - if it is a macro, couldn't it just be:
#define getc fgetc_or_similar
At least C89/90 only mentions that if it is a macro, it may evaluate arguments more than once (but then it may not, as in the above case).
- JoachimSchipper 16y agoYes and no. Yes, that is a valid #define; but the following program must work: #include <stdio.h> #undef getc int main(void) { getc(stdin); return 0; } so it cannot be implemented as only a macro.