1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > C语言程序设计现代方法(第二版)十二章课后练习题部分答案

C语言程序设计现代方法(第二版)十二章课后练习题部分答案

时间:2022-09-26 17:15:01

相关推荐

C语言程序设计现代方法(第二版)十二章课后练习题部分答案

作为C语言初学者,以下内容为自己学习时所记,内容如有错误之处欢迎指出,非常感谢。 在此本人想致谢50no ,在此书的前面章节学习过程中曾多次参考50no 写的课后编程题答案 。

12.1

(a) 14 (b) 34 © 4 (d)真 (e) 假

12.2

此处粘贴原版答案

The statement is illegal because pointers cannot be added. Here’s a legal statement that has the desired effect:

middle = low + (high - low) / 2;

The value of (high - low) / 2 is an integer, not a pointer, so it can legally be added to low.

12.3

a[N] = {10, 9 , 8, 7, 6, 5, 4, 3, 2, 1}

12.4

此处粘贴原版答案

int *top_ptr;void make_empty(void){top_ptr = &contents[0];}bool is_empty(void){return top_ptr == &contents[0];}bool is_full(void){return top_ptr == &contents[STACK_SIZE];}

12.5

b c d为真

假设int a[n] = {1, 2, 3}

其在内存中的储存假设为

其中(a)中P为指针(其值为a[0]的地址——2000)类型为 int*,而a[0]的值为1 类型为int, 二者类型不同,值也不同。

12.6

int sum_array(const int *p, int n){int sum;sum = 0;for (; p < p + n; p++)sum += *p;return sum;}

12.7

bool search(const int a[], int n, int key){bool i = false;for (int j = 0 ; j < n; j++){if (key == *(a + j))i = true;}return i;}

12.14

# include <cstdio># include <iostream># define ROW 7# define COL 24bool search(const int a[ROW][COL], int );int main(void){int key;bool k;int a[ROW][COL] = { 1, 2, 3, 4, 5 };printf("Enter a number for search:");scanf_s(" %d", &key);k = search(a,key);if (k){printf("123");}elseprintf("456");system("pause");return 0;}bool search(const int a[ROW][COL], int key){for (int i = 0 ; i < ROW; i++){for (int j = 0; j < COL; j++){if (key == *(a[i] + j))return true;}}return false;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。