C语言错题之 5

简介: C语言错题之 5

导言

还是比较基础的五道题,但相较于前面的几篇则好一些。

1.

题干:

点击此处

答案:

A

知识点:

首先,很重要的一点是数组名是地址常量。常量之间是不能互相赋值的。

所以,此处我们要用C语言自带的库函数来实现赋值,即strcpy 、memcpy和strncpy函数。

1、strcpy:

语法格式:strcpy(字符数组1,字符串2)

作用:可以简单地理解为,将字符串2复制到字符数组1中去。

2、memcpy:

内存拷贝函数,/*memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。 */

用法:void *memcpy(void *dest, const void *src, size_t n);

3.二者的区别

1)复制的内容不同,前者只能复制字符串,而后者可以复制任意内容。

2)复制的方法不同:前者复制时可以不用指定长度 后者需要指定长度

3)用途不同:通常复制字符串时用前者,复制其他内容时用后者。

2.

题干:

点击此处:

答案:

B

概念辨析:

直接递归调用、间接递归调用、函数循环调用

直接递归调用

指在函数a(或过程)中直接引用(调用)函数a本身

间接递归调用

指在函数a(或过程)中调用另外一个函数b,而该函数b又引用(调用)了函数a

函数循环调用

指在函数体内部调用自身的情况,也被称为递归调用。

3.

题干:

点击此处:

答案:

C

知识点:

函数声明可以省略形参名,定义时则不可以。

4.

题干:

点击此处:

答案:

C

解析:

A:

P是指针型变量,根据scanf中的格式字符串:%d,可知取出的应该是整型变量的地址,而不是整形指针变量的地址

B:

scanf中&P是整型变量空间的地址,但P没有初值,P的值是不确定的,也就是常说的野指针

D:

p=&k 是把k的地址赋值给p,p相当于p所指向的变量。这里p没有被赋初值(注意这一点:没初始化的指针是野指针),也就没有指向任何变量,所以使用p时出错,

5.

题干:

点击此处:

答案:

B

解析:

这个函数想实现的功能是在字符串中所有数字字符前面加一个$字符,if语句中要填入的就是判断这个字符是否是数字

1)首先要知道‘0’~‘9’的ASCII码值(48–57),当然这道题是直接用字符‘0’和‘9’来比较的,这样也可以

2) s一般表示的是数组的首地址,所以D中的*s表示的是第一个字符

结语:

今天的五道到这里就结束了,大家下次见。

相关文章
|
7月前
|
C语言
【C语言】错题本(3)
【C语言】错题本(3)
36 0
|
7月前
|
C语言
【C语言】错题本(2)
【C语言】错题本(2)
35 0
|
7月前
|
C语言
【C语言】错题本(1)
【C语言】错题本(1)
53 0
|
存储 编译器 C语言
C语言错题之 10
C语言错题之 10
120 0
|
7月前
|
存储 C语言
【C语言】错题本(4)
【C语言】错题本(4)
37 0
|
存储 C语言
C语言错题之 8
C语言错题之 8
69 0
|
7月前
|
C语言
C语言:初阶测试错题(查漏补缺)
C语言:初阶测试错题(查漏补缺)
44 0
|
C语言
C语言分支语句和循环语句经典题及易错题
C语言分支语句和循环语句经典题及易错题
159 0
|
存储 编译器 开发工具
C语言错题之 7
C语言错题之 7
73 0
|
C语言
C语言错题之 6
C语言错题之 6
56 0