Karthikeyan M wrote:
> Hi all,
> 
> 
> 
> This question was asked in the aptitude test of Intel.
> 
> 
> 
>       int i, n = 20;
> 
> 
> 
>       for (i = 0; i < n; i--)
> 
> 
> 
>       printf("-");
> 
> 
> 
>       You have to print '-' 20 times. By adding or removing or replacing
> only a single character from the code.
> 
> 
> 
>       There are 3 possible solutions for the above question. What are
> they?
> 
> 
> 
>       Time: 10 mins     

If I was taking this test, this would be my response:

There is only one solution.  Fix the bug in the code by switching to 
increment.  Then move on to the next problem.  Don't waste time with 
trivial issues.  Or, if you just have to print 20 '-'s, use a single 
printf() and no for-loop.  Intel:  Go buy Safe C++ Design Principles and 
learn how to write software.

Answers:

int i, n = 20;
for (i = 0; i < n; n--)
printf("-");

int i, n = 20;
for (i = 0; -i < n; i--)
printf("-");

int i, n = 20;
for (i = 0; i + n; i--)
printf("-");

All three answers are terrible.  Don't do this in production code.  Ever.

-- 
Thomas Hruska
CubicleSoft President
Ph: 517-803-4197

*NEW* VerifyMyPC 2.3
Change tracking and management tool.
Reduce tech. support times from 2 hours to 5 minutes.

Free for personal use, $10 otherwise.
http://www.CubicleSoft.com/VerifyMyPC/

Reply via email to