need solution to my interview ques. in C

Go4Expert Member
24Aug2008,20:05   #1
rforravi's Avatar
I have been asked a question ( an interesting one ) in an interview ystrday

I was like given the following :

.....
.....

if ( xxxxxxxxxxxxx)
printf("hello");
else
printf("world");


..
......



Now, the interviewer asked me not to change anything given except the " xxxxxxxxxxx"
He asked me to write such a condition in place of xxxx such that we get the output as :
"helloworld"


now.. i need to get the condition.. any help plz??
Light Poster
25Aug2008,13:19   #2
jamsheedm's Avatar
if(!printf(hello")) will do the trick
Mentor
25Aug2008,23:18   #3
xpi0t0s's Avatar
I don't think I would ever have guessed that.
Once given the solution I would probably have commented something along the lines that I hope that question isn't indicative of programming standards within the company, cos if it was then I wouldn't want to work there anyway.
Light Poster
26Aug2008,09:23   #4
jamsheedm's Avatar
this question does have nothing to do with programming standards.tather,its purely logical question for c experts
Go4Expert Member
28Aug2008,22:27   #5
rforravi's Avatar
@jamsheed m

Dude.. thx a lot.. it was a great answer!! i was really breaking my head in the interview.. and even now.. if u dont m ind, cud u xplain this .. me trying a lot to get it into my head. it looks like i understood it but at the same time, i feel i dint get it.

Neways.. great answer dude!

Thx!

Cheerz
R !
Light Poster
29Aug2008,17:08   #6
jamsheedm's Avatar
Its known tht printf returns an int value and its no of characters it prints
here printf("hello") will return 4
and !4 is 0,so else part will be printed after hello
so you get the reult....
its cool na ...wat you say ravi
Go4Expert Member
29Aug2008,18:09   #7
rforravi's Avatar
yeah. superb solution dude!!

so, this means the statement after the 'IF' is not getting printed.. but we are writing the same statement in the condition itslf.. . So, it has to get printed by default and itz directly jumping to else part..

Cool !!

Cheerz
R !!
Light Poster
30Aug2008,09:59   #8
jamsheedm's Avatar
a small careless error the return value is 5 not 4