What happens if we use an uninitialized array in C language?
Home »
C programming language
Find output of C programs (if else statement) | set 1
Find output of c programs based on if else statement in C programming language: this section contains if else statement based programs with output and explanation.
Submitted by Manju Tomar, on July 29, 2019
Find the output of the following programs,
Program 1)
#include <stdio.h>
int main()
{
int x = 400, y, z;
if (x >= 500)
y = 400;
z = 300;
printf("%d %d\n", y, z);
return 0;
}
Output
32766 300
Explanation:
In the code, the condition x>=500 is false, so the variable y will not be assigned and the statement z=300 is written after the conditional statement, so it will be assigned with 300. Thus, the value of y will be a garbage value and value of z will be 300.
Program 2)
#include <stdio.h>
int main()
{
int p = 800, q, r;
if (p >= 700)
q = 600;
r = 500;
printf("%d %d\n", q, r);
return 0;
}
Output
600 500
Explanation:
In the code, the condition p>=700 is true, so the variable q will be assigned with the value 600 and the statement r=500 is written after the conditional statement, so it will be assigned with 500. Thus, the value of q will be a 600 value and value of r will be 500.
Program 3)
#include <stdio.h>
int main()
{
int a = 30, b = 40;
if (a == b);
printf("%d %d\n", a, b);
return 0;
}
Output
30 40
Explanation:
In the code, the condition if(a==b); is terminated with semicolon so the statement printf("%d %d\n",a,b); will not be consider as a body of the if statement. Thus, the program will print the value of a and b.
Program 4)
#include <stdio.h>
int main()
{
int e = 4;
float f = 4.0;
if (e == f) {
printf("E and F are equal\n");
}
else {
printf("E and F are not equal");
}
return 0;
}
Output
E and F are equal
Explanation:
In the code, variable e is an integer type and variable f is a float type, while comparing them with an if statement (if(e==f)), the value of f will be truncated to an integer (due to implicit type conversion). Thus, the condition will be true and "E and F are equal" will be printed.
Program 5)
#include <stdio.h>
int main()
{
int p = 4, q, r;
q = p = 15;
r = p < 15;
printf("p = %d q = %d r = %d\n", p, q, r);
return 0;
}
Output
p = 15 q = 15 r = 0
Explanation:
In the code, the statement q = p = 15; is assigning 15 to the variables p and q and the statement r = p<15; is assigning 0 to the variable r because p is not less than 15 (condition is false). Thus, the value of p, q and r will be 15, 15, and 0.
Program 6)
#include <stdio.h>
int main()
{
int i = 65;
char j = 'A';
if (i == j) {
printf("This place is beautiful\n");
}
else {
printf("This place is not beautiful\n");
}
return 0;
}
Output
This place is beautiful
Explanation:
The character variable stores the ASCII code of the given character (it's also a number type of variable). Thus, the value of j will be 65 (The ASCII Code of 'A' is 65). So the condition if(i==j) will be true and "This place is beautiful" will be printed.
Program 7)
#include <stdio.h>
int main()
{
float p = 13.25, q = 14.5;
if (p = q) {
printf("Hello\n");
}
return 0;
}
Output
Hello
Explanation:
In the statement if(p=q), p=q is not a comparison operation, we used = (assignment operator), thus the value of q will be assigned into p and the statement will be evaluated to 14.5 which is a non-zero value and conditional will be true.