Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Help with C Code (http://www.go4expert.com/forums/help-c-code-t6630/)

am2007 30Sep2007 23:39

Help with C Code
 
Can anyone help me with the following code and the questions that follow it?

LINE Contains
50 char * b, q, *r;
200 b=getbuf();
201 q = *b;
212 r= anotherfunction(b);
213-300 /* we want to use q and r here*/
2000 char * getbuf()
2001 {
2002 char buff[8];
2003-2050 /* unspecified, buff defined here *./
2051 return (char *) buff;
2052 }

What will be in variable q after line 201 is executed? Under what conditions might this not be so?

Is there an alternative, but equivalent, way to write line 2000? If so, what is it?

Is getbuf() a reasonable function?

Will getbuf() execute at all?

Please comment on line 2051.

Is getbuf() good practice, and why?

What line not given should be provided for compilation?

shabbir 1Oct2007 04:53

Re: Help with C Code
 
Quote:

Originally Posted by am2007
What will be in variable q after line 201 is executed? Under what conditions might this not be so?

Same as the value in b provided your getbuf is implemented correctly but it is not. See reason below.

Quote:

Originally Posted by am2007
Is there an alternative, but equivalent, way to write line 2000? If so, what is it?

You can use void* for generalization. Also the character pointer can be passed to the function so we don't use the locale variable address in the callee function.

Quote:

Originally Posted by am2007
Is getbuf() a reasonable function?

Reasonably wrong.

Quote:

Originally Posted by am2007
Will getbuf() execute at all?

Yes

Quote:

Originally Posted by am2007
Please comment on line 2051.

Returning the local variable and so it will be returning the location to the character buffer which is out of scope and so getbuf needs better implementation.

Quote:

Originally Posted by am2007
Is getbuf() good practice, and why?

Nope.

Quote:

Originally Posted by am2007
What line not given should be provided for compilation?

Use complier to see what error it gets.


All times are GMT +5.5. The time now is 13:54.