# C Program to Find Largest of Two Numbers

« Previous Program Next Program »

In this tutorial, you will learn and get code about how to find and print the largest number between any given two numbers by user (at run-time) with following approaches:

## Find Largest of Two Numbers using if-else

To find the largest or greatest one between any given two numbers in C programming, you have to ask from the user to enter any two number to check and find out which one is larger as shown in the program given below:

```#include<stdio.h>
#include<conio.h>
int main()
{
int a, b, big;
printf("Enter any two number: ");
scanf("%d%d", &a, &b);
if(a>b)
big=a;
else
big=b;
printf("\nBiggest of the two number is: %d", big);
getch();
return 0;
}```

As the above program was written in Code::Blocks IDE, therefore after successful build and run, it will produce the following result:

Now you have to supply any two numbers say 10 and 20 and then press `ENTER` to see the output as given in the second snapshot here. As we all knows that 20 is greater than 10, therefore you will see 20 as output:

If you want to check with first number as 20 and second number as 10, then you can also go for that Here is the output:

#### Program Explained

• Take any two number and put it in two variables say a and b
• Check whether a is greater than b or not using if statement
• If it is, then value of a will be initialized to big
• Otherwise, value of b will be initialized to big
• Whatever the biggest value is, big holds it
• Finally print the value of big variable as output

## Find Largest of/between Two Numbers using Ternary Operator

Here is another program that does the same job as of previous one. This program uses ternary operator to find the greater one:

```#include<stdio.h>
#include<conio.h>
int main()
{
int num1, num2, large;
printf("Enter any two numbers: ");
scanf("%d%d", &num1, &num2);
large = (num1>num2) ? num1 : num2;
printf("\nLargest = %d", large);
getch();
return 0;
}```

Here is the first screenshot of sample run:

Now supply any two numbers and press `ENTER` to see the largest number as shown here in the second snapshot:

The main logical code is:

`large = (num1>num2) ? num1 : num2;`

Here if num1 is greater than num2, then num1 will be initialized to large, otherwise num2 will be initialized to large.

Or you can says that, if num1 is greater than num2, then the whole expression after large = will become num1;, therefore the statement becomes:

`large = num1;`

Otherwise (if num1 is less than num2), then statement becomes:

`large = num2;`

## Find Largest of Two Numbers using Function

This is the last program where I've created a function findLarge() that takes both the number given by user as argument, and will return the largest one.

```#include<stdio.h>
#include<conio.h>
int findLarge(int, int);
int main()
{
int num1, num2, larg;
printf("Enter any two numbers: ");
scanf("%d%d", &num1, &num2);
larg = findLarge(num1, num2);
printf("Largest = %d", larg);
getch();
return 0;
}
int findLarge(int a, int b)
{
if(a<b)
return b;
else
return a;
}```

Here is the final snapshot of the sample run:

Inside the function named findLarge(), if value at b is greater than the value at a, then b will be returned and initialized to the large variable, otherwise a will be returned and initialized to the large variable inside the main() function.

#### Same Program in Other Languages

C Online Test

« Previous Program Next Program »