To make some of the other experiments easier, we'll take a look at input expressions.
Consider this statement:
cin >> 3;What do you suppose this would mean? Maybe after this executes, every
3the program encounters should be replaced with the value the user types in from the keyboard? That seems awfully silly and quite dangerous. So, a better question: does C++ even allow this? Try it. Add the input statement to your program and recompile.
Question #3.2.1: What is the first compiler error that you get?
Fortunately, C++ doesn't let us do something so silly.
Instead, all of the objects in an input expression must be variables. Let's try this:
cin >> i >> j;Add this statement after the declaration of
j, but before the output statement. When you run your program, enter these values:
Question #3.2.2: What values are printed for
j? Did these values come from the declaration or from your keyboard input?
An input statement replaces the value in a variable used in the input statement. The variable does not remember its old values; the old value is gone.
Try this variation:
Question #3.2.3: What happens if the input line is moved before the declaration?
That's actually a review of the previous lab. Remember that you can't use a variable unless you declare it first. The order of the statements matter.
Here's a variation that will compile and execute:
Question #3.2.4: What happens if the input line is moved after the output statement?
Question #3.2.5: Use the results of this experiment to justify the claim that an input statement replaces the values in its variables.
Question #3.2.6: Is it necessary to initialize
jin their declaration if we read in values for them in the very next statement?
Move the input statement back between the declaration and output statements.