
		Mathematics 1201: Programming in C
		Reading and Homework Assignment #5
			Prof. Wickerhauser

			Due 29 September 1999

You are encouraged to collaborate on homework, and to work additional
exercises from the indicated problem sections, although the homework grade
will be based only on the exercises listed below.  Please return your
solutions to me by the end of class.  LATE HOMEWORK WILL NOT BE ACCEPTED.


Read Chapter 5 of the textbook.

Do Exercises 3 and 12 of Chapter 5, pp. 118--119.


Extra Problem:

Is the following a valid ANSI C program?  If so, expand all the preprocessor
macros and determine what it does.

	#include <stdio.h>

	#define START		main(void){
	#define Join(A,B)	A##B
	#define Stringize(X)	#X
	#define PN		printf(
	#define STUFF		"= %d\n"
	#define COMMA		,
	#define FINISH		);}

	START
	Join(P,N)
	Stringize(__LINE__)
	STUFF
	COMMA
	__LINE__
	FINISH
