C Programming - Expressions - Discussion

Discussion Forum : Expressions - Point Out Correct Statements (Q.No. 1)
1.
Which of the following statements are correct about the below program?
#include<stdio.h>
int main()
{
    float a=1.5, b=1.55;
    if(a=b)
        printf("a and b are equal\n");
    else
        printf("a and b are not equal\n");
    return 0;
}
Output: "a and b are equal"
Output: "a and b are not equal"
Floats cannot be compared using if
Switch should be used to compare floats
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
15 comments Page 2 of 2.

Thilagavathi said:   2 decades ago
Is it possible to use assignment operator in if statement ?

Mahesh said:   2 decades ago
= Operator Means assign value to right side value to left side.

== Operator can be compare value if both value are equal or not.

So Answer is "a and b are equal".

Chandru said:   2 decades ago
Is it possible to use assignment operator(=) in if condition instead of using equality operator(==) ? Explain me the concept how can we use like this.

Gandi said:   2 decades ago
In if condition how we use single equal symbol

Vipin said:   2 decades ago
Main reason behind this answer is that assignment operator is right associative so it will alocate the value of b to a which is non zero so it will remain true hence the answer will b "a and b are equal";


Post your comments here:

Your comments will be displayed after verification.