# Conditional Operator

• 10-14-2010
markcocoa10
Conditional Operator
I can not figure out why this program does not work the way I wont.
Code:

```#include <stdio.h> int x, y; int main(void) { printf("\nEnter two numbers"); scanf("%d %d",&x,&y); printf("\n\n%d is bigger\n",((x>y)?x:y)); return 0; }```
This will compile and run but when you put in two numbers, like 5,50, the program said that 5 is the bigger number.
Any number on the left of the comma is called the bigger number.
• 10-14-2010
laserlight
Sorry, but I cannot duplicate your problem. Input of 5 50 gives the expected result that 50 is bigger.

EDIT:
Just a moment, did you actually enter 5,50 rather than 5 50?
• 10-14-2010
Babkockdood
Try using two scanf statements.

Code:

```... printf("Input first number: "); scanf("%d", &x); printf("Input second number: "); scanf("%d", &y); ...```
• 10-14-2010
Bayint Naung
It's likely that you entered 5,50 as suggested by laserlight.
since x and y are global variables, they are initialized to 0.
scanf() will fail when it reads ',' and return 1(check return value), x will be 5, y will still be 0.
hence you are getting 5 as result.
• 10-14-2010
markcocoa10
Thank you for posting, it is still not working for me. Even with splitting the scanf, I still get 5 is bigger than 50. I am going to export the code and run it on the desktop.
• 10-14-2010
laserlight
I suggest that you try:
Code:

```#include <stdio.h> int main(void) {     int x = 0, y = 0;     printf("Enter two numbers: ");     scanf("%d %d", &x, &y);     if (x != y)     {         printf("\n%d is bigger than %d\n", ((x > y) ? x : y), ((x < y) ? x : y));     }     else     {         printf("\n%d is equal to %d\n", x, y);     }     return 0; }```
This makes it clear that you are really getting "5 is bigger than 50" rather than "5 is bigger than 0".
• 10-15-2010
markcocoa10
Thank You, that is much clearer.
• 10-15-2010
markcocoa10
Code:

```#include <stdio.h> int x, y; int main(void) { printf("\nEnter two numbers");         scanf("%d,%d", &x, &y);         printf("\n\n%d is bigger\n", ((x>y)?x:y));         return 0; }```