What will be the result of the following program?
main()
{
char p[]="String";
int x=0;
if(p=="String")
{
printf("Pass 1");
if(p[sizeof(p)-2]=='g')
printf("Pass 2");
else
printf("Fail 2");
}
else
{
printf("Fail 1");
if(p[sizeof(p)-2]=='g')
printf("Pass 2");
else
printf("Fail 2");
}
}
a) Pass 1, Pass 2
b) Fail 1, Fail 2
c) Pass 1, Fail 2
d) Fail 1, Pass 2
e) syntax error during compilation
Answer Posted / vikram
b)fail1,fail2
bcoz whenever we compare strings,we use strcmp()
function,hence the condition in if() will not be true,
the control will go into else part and will print fail1,then
size of array p is 6 and sizeof(p)-2 results to 4 and hence
p[4]=='n'which again makes the condition in the if()
false,hence fail2 in else part will be printed.
thnx
| Is This Answer Correct ? | 1 Yes | 1 No |
Post New Answer View All Answers
What is the hardest programming language?
Explain what are multidimensional arrays?
Write a program for Overriding.
What is the use of header?
What is the use of function in c?
Explain what is the use of a semicolon (;) at the end of every program statement?
What are the keywords in c?
Why calloc is better than malloc?
How does struct work in c?
What is a spanning Tree?
which of the following is allowed in a "C" arithematic instruction a) [] b) {} c) () d) none of the above
What is the difference between abs() and fabs() functions?
What does int main () mean?
What is nested structure in c?
What is the right way to use errno?