K & R C Chapter 4 Exercise Solutions.

We have already provided solutions to all the exercises in the bookC Programming Language (2nd Edition) popularly known as K & R C book.

In this blog post I will give links to all the exercises from Chapter 4 of the book for easy reference.

Chapter 4: Functions and Program Structure

  1. Exercise 4-1. Write the function strrindex(s,t) , which returns the position of the rightmost occurrence of t in s , or -1 if there is none.
    Solution to Exercise 4-1.
  2. Exercise 4-2.Extend atof to handle scientific notation of the form 123.45e-6 where a floating-point number may be followed by e or E and an optionally signed exponent.
    Solution to Exercise 4-2.
  3. Exercise 4-3.Given the basic framework, it’s straightforward to extend the calculator. Add the modulus ( % ) operator and provisions for negative numbers.
    Solution to Exercise 4-3.
  4. Exercise 4-4. Add commands to print the top element of the stack without popping, to duplicate it, and to swap the top two elements. Add a command to clear the stack.
    Solution to Exercise 4-4.
  5. Exercise 4-5. Add access to library functions like sin , exp , and pow . See in Appendix B, Section 4.
    Solution to Exercise 4-5.
  6. Exercise 4-6. Add commands for handling variables. (It’s easy to provide twenty-six variables with single-letter names.) Add a variable for the most recently printed value.
    Solution to Exercise 4-6.
  7. Exercise 4-7. Write a routine ungets(s) that will push back an entire string onto the input. Should ungets know about buf and bufp , or should it just use ungetch ?
    Solution to Exercise 4-7.
  8. Exercise 4-8.Suppose that there will never be more than one character of pushback. Modify getch and ungetch accordingly.
    Solution to Exercise 4-8.
  9. Exercise 4-9.Our getch and ungetch do not handle a pushed-back EOF correctly. Decide what their properties ought to be if an EOF is pushed back, then implement your design
    Solution to Exercise 4-9.
  10. Exercise 4-10. An alternate organization uses getline to read an entire input line; this makes getch and ungetch unnecessary. Revise the calculator to use this approach.
    Solution to Exercise 4-10.
  11. Exercise 4-11. Modify getop so that it doesn’t need to use ungetch. Hint: use an internal static variable.
    Solution to Exercise 4-11.
  12. Exercise 4-12. Adapt the ideas of printd to write a recursive version of itoa ; that is, convert an integer into a string by calling a recursive routine.
    Solution to Exercise 4-12.
  13. Exercise 4-13. Write a recursive version of the function reverse(s) , which reverses the string s in place.
    Solution to Exercise 4-13.
  14. Exercise 4-14. Define a macro swap(t,x,y) that interchanges two arguments of type t . (Block structure will help.)
    Solution to Exercise 4-14.
You can purchase the book from here or here.

To get regular updates on new C programs, you can Follow @c_program

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Like to get updates right inside your feed reader? Grab our feed!

To browse more C Programs visit this link
(c) www.c-program-example.com

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>