Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


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

Answers were Sorted based on User's Feedback



What will be the result of the following program? main() ..

Answer / jaroosh

Fail 1 , Pass 2.

Some explanation,
1. Fail 1
first of all, to compare strings in C, you use this strcmp
function, so this WOULD give PASS 1 :
if(strcmp(p,"String") == 0)
but
if(p=="String")
will fail because this line means :
if address of p is the same as address of some temporary
storage for literals, where literal "String" is stored,
which is very rarely true, because storing literals is
compiler specific and is very hard to estimate at runtime.
2. Pass 2
sizeof(p) gives 7, because sizeof(char) is 1 byte, and we
have 7 chars in array storing "String", which are :
[0]S
[1]t
[2]r
[3]i
[4]n
[5]g
[6]\0 (EOS)
now, clearly sizeof(p) - 2 is [5] which is "g"
thats why
if(p[sizeof(p)-2]=='g')
is true.

Is This Answer Correct ?    10 Yes 0 No

What will be the result of the following program? main() ..

Answer / guest

d) Fail 1, Pass 2

Is This Answer Correct ?    6 Yes 0 No

What will be the result of the following program? main() ..

Answer / reepal

e) syntex error during compilation

Is This Answer Correct ?    3 Yes 1 No

What will be the result of the following program? main() ..

Answer / rakhi

b) Fail 1 Fail 2

Is This Answer Correct ?    2 Yes 2 No

What will be the result of the following program? main() ..

Answer / guest

a) Pass 1, Pass 2

Is This Answer Correct ?    1 Yes 1 No

What will be the result of the following program? main() ..

Answer / 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

What will be the result of the following program? main() ..

Answer / guest

c)Pass 1, Fail 2

Is This Answer Correct ?    1 Yes 2 No

What will be the result of the following program? main() ..

Answer / vinay deore

Fail 1,Fail 2

Is This Answer Correct ?    0 Yes 2 No

What will be the result of the following program? main() ..

Answer / guest

Fail 1,Fail 2

Is This Answer Correct ?    0 Yes 2 No

What will be the result of the following program? main() ..

Answer / shruti

syntax error during compilation..


we cannot compare strings using if(p == "string")

so will not work..

NOTE:
while comparing string otherwise also we use 'string'
(string in single quotes ' ' not " ")..

Is This Answer Correct ?    0 Yes 2 No

Post New Answer

More C Interview Questions

What are the 4 types of organizational structures?

0 Answers  


Can the size of an array be declared at runtime?

0 Answers  


how to introdu5ce my self in serco

0 Answers  


what is the difference between #include<stdio.h> and #include "stdio.h" ?

3 Answers  


Explain continue keyword in c

0 Answers  


Is the below things valid & where it will be stored in memory layout ? static const volatile int i; register struct { } ; static register;

2 Answers   Bosch,


The number of bytes of storage occupied by short, int and long are a) 2, 2 and 4 b) 2, 4 and 4 c) 4, 4 and 4 d) none

0 Answers  


void main() { int a=1; while(a++<=1) while(a++<=2); }

4 Answers   HCL,


How do you declare a variable that will hold string values?

0 Answers  


write a function to swap an array a[5] elements like a[0] as a[5],a[1] as a[4],....a[5] as a[0].without using more than one loop and use one array not to use temp array?

1 Answers   Zensar,


Read N characters in to an array . Use functions to do all problems and pass the address of array to function. 2. Enter alphanumeric characters and form 2 array alphaets and digits.Also print the count of each array.

0 Answers  


Tell me when would you use a pointer to a function?

0 Answers  


Categories