C Program to check whether the user input integer number is positive, negative or zero using Macros and ternary / Conditional operator.
Related Read:
Positive or Negative or Zero Using Ternary Operator: C Program
Page Contents
If user input number is greater than 0, then the number is positive. If user input number is less than 0, then the number is negative. If neither of the above 2 conditions are true, then the number is zero.
#include<stdio.h> #define SIGN(num) ( (num > 0) ? \ printf("POSITIVE") : \ (num < 0) ? printf("NEGATIVE") : \ printf("ZERO")) int main() { int num; printf("Enter a number\n"); scanf("%d", &num); SIGN(num); return 0; }
Output 1:
Enter a number
5
POSITIVE
Output 2:
Enter a number
-2
NEGATIVE
Output 3:
Enter a number
0
ZERO
Here the macro template SIGN(num) will be replaced by its corresponding macro expansion ( (num > 0) printf(“POSITIVE”) : (num < 0) ? printf(“NEGATIVE”) : printf(“ZERO”)) by preprocessor. And if user input number is greater than 0, it’ll print POSITIVE else it’ll print NEGATIVE. If neither of those 2 conditions are true, then it’ll print ZERO.
In our program we’re using Macro Continuation (\) Preprocessor Operator: C Program in macro expansion to break from the line and continue the logic in new/next line.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert