C Programming - Strings - Discussion

Discussion Forum : Strings - Find Output of Program (Q.No. 32)
32.
What will be the output of the program ?
#include<stdio.h>

int main()
{
    char str1[] = "Hello";
    char str2[] = "Hello";
    if(str1 == str2)
        printf("Equal\n");
    else
        printf("Unequal\n");
    return 0;
}
Equal
Unequal
Error
None of above
Answer: Option
Explanation:

Step 1: char str1[] = "Hello"; The variable str1 is declared as an array of characters and initialized with a string "Hello".

Step 2: char str2[] = "Hello"; The variable str2 is declared as an array of characters and initialized with a string "Hello".

We have use strcmp(s1,s2) function to compare strings.

Step 3: if(str1 == str2) here the address of str1 and str2 are compared. The address of both variable is not same. Hence the if condition is failed.

Step 4: At the else part it prints "Unequal".

Discussion:
16 comments Page 2 of 2.

Shweta said:   7 years ago
How we should compare the address of string?

Please explain me.

Vivek Ambatpure said:   3 years ago
If we want output equal here, then how will be the code written?

Shourya said:   8 years ago
<string.h> is not included.

It should produce error.

Kanak vashistha said:   1 decade ago
But base address of strings were same = hello.

Patrudu said:   1 decade ago
Want more explanation about this question.

Rohini said:   1 decade ago
@Mani.

Use strcmp(str1,str2).


Post your comments here:

Your comments will be displayed after verification.