C语言—指针4

发布于:2025-05-17 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.以下程序运行的结果是什么?

输出结果:在x64环境下输出,指针大小为8个字节

2.以下程序输出的结果是什么?

输出结果:在x64环境下输出,指针大小为8个字节

3.以下程序输出的结果是什么?

输出结果

无法正常的输出全部结果,因为第三次打印时传递的strlen函数接收的地址不是真实的地址,导致程序终止,可以调试观察,按F10进入调试,打开监视窗口,按F10逐过程观察。

因此传递给strlen的指针不能直接将字符元素直接传递,否则将导致程序终止。

4.以下程序的输出结果是什么?

输出结果:在x64的环境下输出,指针大小为8个字节

5.以下程序输出的结果是什么?

结果程序在x64环境下输出

将数组元素当作地址导致程序终止,将对于的错误语句注释后输出

6.以下程序输出的结果是什么?

在x64的环境下输出,指针大小为8字节

7.以下程序的输出结果是什么?

输出结果

将错误的语句注释后输出

8.以下程序输出的结果是什么?

输出结果:在x64的环境下输出

sizeof使用时大部分情况下代表首元素地址,在二维数组中首元素地址是首行元素地址。

sizeof不代表首元素地址的两种情况

1.在数组名前加上取址操作符(&),此时取出的是整个数组的地址;

2.数组名单独放在sizeof内部,此时的数组名是代表整个数组,求出整个数组的大小,在sizeof内部对数组名取地址时,同时解引用操作,也是表示数组名单独放在sizeof内部,sizeof(*&arr)=sizoef(arr);

srtrlen是一个求字符串的库函数,使用时需要包含头文件:#include<string.h>,求出的是字符串'\0‘前字符的个数,返回值为size_t(无符号整型),参数需要一个起始地址,该地址必须是真实有效的,不然程序会中断;strlen一般是用来求字符串长度的,需要以’\0'作为终止信号,如果没有‘\0',求出的可能是随机值。

9.指针笔试题

9.1 程序的结果是什么?

输出结果

9.2 在X86环境下,假设结构体的⼤⼩是20个字节,程序输出的结果是啥?

在x86的环境下输出输出结果

9.3.以下程序输出的结果是什么?

输出结果

9.4以下程序输出的结果是什么?

输出结果

9.5 以下程序输出的结果是什么?

在x86的环境下输出

9.6 以下程序输出的结果是什么?

输出结果

9.7 以下程序输出的结果是什么?

输出结果

起始指向“

第一条printf语句:

第二条printf语句:

第三条printf语句:

第四条printf语句:


网站公告

今日签到

点亮在社区的每一天
去签到