© 2014 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu

C and C++ Interview Questions

2. What are the standard predefined macros?

Ans:

The ANSI C standard defines six predefined macros for use in the C language:
Macro Name Purpose
_ _LINE_ _ Inserts the current source code line number in your code.
_ _FILE_ _ Inserts the current source code filename in your code.
_ _DATE_ _ Inserts the current date of compilation in your code.
_ _TIME_ _ Inserts the current time of compilation in your code.
_ _STDC_ _ Is set to 1 if you are enforcing strict ANSI C conformity.
_ _cplusplus Is defined if you are compiling a C++ program.

 

Ex - 1:  What is the output?
#if something == 0
int some=0;
#endif
 
main()
{
int thing = 0;
printf("%d %d\n", some ,thing);
}
 
Ans:
0 0

Explanation:

This code is to show that preprocessor expressions are not the same as the ordinary expressions. If a name is not known the preprocessor treats it to be equal to zero.

Ex - 2:  What is the output?
#define DIM( array, type) sizeof(array)/sizeof(type)
main()
{
int arr[10];
printf(“The dimension of the array is %d”, DIM(arr, int));   
}

Ans:
10  

Explanation:

The size  of integer array of 10 elements is 10 * sizeof(int). The macro expands to sizeof(arr)/sizeof(int) => 10 * sizeof(int) / sizeof(int) => 10.

Ex - 3:  What is the output?
#define int char
main()
{
            int i=65;
            printf("sizeof(i)=%d",sizeof(i));
}

Ans:
                        sizeof(i)=1

Explanation:
Since the #define replaces the string  int by the macro char


SLogix Student Projects
bottom