Quiz submission record for quiz3-2-2 at Wed Jul 7 22:00:44 2004: Your Answer for Question 1: The C preprocessor is mainly responsible for making #define and #include work. #include helps guarantee that all the necessary files you need for a program to work are in place and #define makes code easier to read (you can replace vague variable names with something that is easier to understand). Its input is C and its output is C, basically it does a replace job and puts in/back all the stuff that we included/defined. If it were a seperate step, it would come before compiling, so that when the complier runs, it has all the necessary C code in place from the preprocessor directives. Your Answer for Question 2: The margin for error would be lessened and programs would probably written in harder to read code (i.e. closer to assembly language). References would have to be made sure that they point to the right places (something that the assembler and linker did) and the programming language would probably be closer to assembly because there would be need intermediate step that translated high-level to assembly to machine. Your unique submission ID is quiz3-2-2-cs61c-ev-1089262844-2845.