Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > query in reccursion

Reply
Thread Tools

query in reccursion

 
 
bnslpayal@gmail.com
Guest
Posts: n/a
 
      12-11-2007
int giValue = 5; /* Global Variable Declaration */
void fnReverse()
{
if (giValue > 0) {
giValue--;
fnReverse();
}
printf("%d\n",giValue);
}

/
************************************************** ************************************************** ********
* why the answer is 0 six times????????????????

************************************************** ************************************************** ******/
 
Reply With Quote
 
 
 
 
Eric Sosman
Guest
Posts: n/a
 
      12-11-2007
wrote:
> int giValue = 5; /* Global Variable Declaration */
> void fnReverse()
> {
> if (giValue > 0) {
> giValue--;
> fnReverse();
> }
> printf("%d\n",giValue);
> }
>
> /
> ************************************************** ************************************************** ********
> * why the answer is 0 six times????????????????
>
> ************************************************** ************************************************** ******/


"Six times" because the values 5,4,3,2,1,0 are a set
of cardinality six.

"0" because giValue is equal to zero at each of the
six executions of the printf call.

--
Eric Sosman
lid
 
Reply With Quote
 
 
 
 
Golden California Girls
Guest
Posts: n/a
 
      12-11-2007
wrote:
> int giValue = 5; /* Global Variable Declaration */
> void fnReverse()
> {
> if (giValue > 0) {
> giValue--;
> fnReverse();
> }
> printf("%d\n",giValue);
> }
>
> /
> ************************************************** ************************************************** ********
> * why the answer is 0 six times????????????????
>
> ************************************************** ************************************************** ******/


Because you hit the printf statement 6 times for this loop. Consider this, if
giValue was initialized to zero you would still print it's value once.

 
Reply With Quote
 
Chris Dollin
Guest
Posts: n/a
 
      12-11-2007
wrote:

> int giValue = 5; /* Global Variable Declaration */
> void fnReverse()
> {
> if (giValue > 0) {
> giValue--;
> fnReverse();
> }
> printf("%d\n",giValue);
> }
>
> /
> ************************************************** ************************************************** ********
> * why the answer is 0 six times????????????????
>
> ************************************************** ************************************************** ******/


Because you print the value of `giValue` after the recursion has been
all the way down to the bottom.

As would have been obvious if you'd tried "play machine" or attempted the
induction -- two techniques that I'd advise adding to your kit.

--
Chris "once a formalist, always (but not only) a formalist" Dollin

Hewlett-Packard Limited registered office: Cain Road, Bracknell,
registered no: 690597 England Berks RG12 1HN

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ASP.NET won't retrieve query results that depend on union query Eric Nelson ASP .Net 5 02-04-2009 10:51 PM
Trying to query the Address table data of AdventureWorks database from Query Analyzer - need help! Learner ASP .Net 1 01-30-2006 08:58 PM
Build dynamic sql query for JSTL <sql:query> Anonymous Java 0 10-13-2005 10:01 PM
xpath query query David Gordon XML 2 05-18-2005 03:33 PM
CAML Query: Multiple Query Fields Issue Jon F. ASP .Net Web Services 0 05-12-2004 08:19 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57