From d430c4fff9c0207ac2d2ae8f49b5266631b3aae7 Mon Sep 17 00:00:00 2001 From: zleyyij <75810274+zleyyij@users.noreply.github.com> Date: Mon, 28 Oct 2024 09:21:30 -0600 Subject: [PATCH] vault backup: 2024-10-28 09:21:30 --- .../ECE1400/Chapter 12 Exercises.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 education/software development/ECE1400/Chapter 12 Exercises.md diff --git a/education/software development/ECE1400/Chapter 12 Exercises.md b/education/software development/ECE1400/Chapter 12 Exercises.md new file mode 100644 index 0000000..2ae3dfc --- /dev/null +++ b/education/software development/ECE1400/Chapter 12 Exercises.md @@ -0,0 +1,19 @@ +1. Suppose that the following declarations are in effect:.... + a. `14` + b. `34` + c. `4` + d. `true` + e. `false` + +2. Suppose that `high`, `low`, and `middle` are all pointer variables of the same type, and the `low` and `high` point to elements of an array. Why is the following statement illegal, and how could it be fixed? +```c +middle = (low + high) / 2 +``` +The above statement is illegal because you can't add an `int *` to an `int *`. The below operation is legal because you can perform pointer subtraction, and because `low` is defined on the left hand side of the equation, then adding a long to a pointer is valid. +```c +middle = low + (high - low) / 2; +``` + +3. What will be the contents of the `a` array after the following statements are executed? +```c +{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}