Homework 37

Part 1 of 2: Given the following information complete the table below:

1)  If the value of a variable is an address, simply write ADDR for the value (but still give the type)
2)  If the value of a variable is a struct, simply write STRUCT for the value (but still give the type)

Hint: Do this by hand, not by running in Visual Studio. You don't need to run/simulate the whole program above to be able to fill out the matrix, just look at the variable and figure out what its value would be.  Once a variable is initialized its value is not modified.

#include <iostream>


using namespace std;


struct myStruct {

                double data;

                myStruct *next;



int main () {


                double y = 3.7;

                int a = 5;

                int b = 11;

                double z;


                myStruct *list;

                myStruct firstNode;


                firstNode.data = 5.3;

                firstNode.next = 0;

                list = &firstNode;


                //complete the table below as if all of the

                //instructions occurred at this point

                //Assume each line of the table is the

                //only line of code (ie assignments made

                //based on questions in the table do not

                //effect any other row of the table)


                return 0;





















z = b / a





z = b / double (a)





(a < 10 && b < 10)





(a < 10 | | b < 10)





a = 6





b == 6





Part 2: Modify the following code so the function printList prints the data fields of the linked list from back to front.

class Node
  int data;
  Node* next;


void printList(Node* p) {
    if (p!=0){
        cout << p ->data << endl;