vault backup: 2024-11-01 13:23:59
This commit is contained in:
parent
2e3053784b
commit
0cbe502348
@ -5,4 +5,25 @@ g. `*&i`
|
|||||||
|
|
||||||
> 2. If `i` is an `int` variable and `p` and `q` are pointers to `int`, which of the following assignments are legal?
|
> 2. If `i` is an `int` variable and `p` and `q` are pointers to `int`, which of the following assignments are legal?
|
||||||
|
|
||||||
a.
|
e. `p = *&q;`
|
||||||
|
f. `p = q;`
|
||||||
|
i. `*p = *q`
|
||||||
|
|
||||||
|
> 3. The following function supposedly computes the sum and average of the numbers in the array `a`, which has length `n`. `avg` and `sum` point to the variables that the function should modify, unfortunately the function contains several errors, find and correct them.
|
||||||
|
|
||||||
|
```c
|
||||||
|
void avg_sum(double a[], int n, double *avg, double *sum)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
// This was assigning a pointer to a float,
|
||||||
|
// the dereference operator was missing
|
||||||
|
*sum = 0.0;
|
||||||
|
for (i = 0; i < n; i++)
|
||||||
|
// This wasn't increasing the value
|
||||||
|
// `sum` points to, it was modifying the address the pointer po
|
||||||
|
(*sum) += a[i];
|
||||||
|
avg = sum / n;
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user