C进阶:征服指针之指针笔试题强化(3)(下)

简介: C进阶:征服指针之指针笔试题强化(3)(下)

T6.

1. 
2. int main()
3. {
4. int aa[2][5] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
5. int *ptr1 = (int *)(&aa + 1);
6. int *ptr2 = (int *)(*(aa + 1));
7. printf( "%d,%d", *(ptr1 - 1), *(ptr2 - 1));
8. return 0;
9. }
10. 
11.

这题和前面的题类似,我们要学会画图解决这类问题;

所以:

答案:10,5

T7.

1. #include <stdio.h>
2. int main()
3. {
4. char *a[] = {"work","at","alibaba"};
5. char**pa = a;
6.  pa++;
7. printf("%s\n", *pa);
8. return 0;
9. }

看到 "alibaba",应该就知道这题曾经是阿里巴巴的笔试题了;

a 是一个指针数组,其中存放了3个 char* 类型的元素,所以要使用 a 的地址,应需要一个二级指针,详情如上图;

答案:at

T8.

1. int main()
2. {
3. char *c[] = {"ENTER","NEW","POINT","FIRST"};
4. char**cp[] = {c+3,c+2,c+1,c};
5. char***cpp = cp;
6. printf("%s\n", **++cpp);
7. printf("%s\n", *--*++cpp+3);
8. printf("%s\n", *cpp[-2]+3);
9. return 0;
10. }

这题是最有难度的一题了,遇到这种题目先不要慌,画图是最好的解决方法;

原始图:

第一个 printf :请看黄色箭头:

注意现在的 cpp 指向的是 c+2;

第二个 printf :请看黑色箭头:

第三个 printf :

*cpp[-2] 可以写成 **(cpp-2), 具体请看紫色箭头:

答案:POINT

          ER

          ST

打印结果:


🙂😀关于指针的题目到此就全部结束了,如有错误或是建议,欢迎小伙伴们提出;

🥰🤩如果认为本文还不错的话,不要忘了支持博主哦;

😆😁你们的支持是我更新的最大动力;

😸🐱谢谢你的阅读;


目录
相关文章
|
5月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
5月前
|
C语言
指针进阶(回调函数)(C语言)
指针进阶(回调函数)(C语言)
|
5月前
|
存储 C++
有关【指针运算】的经典笔试题
有关【指针运算】的经典笔试题
31 4
|
5月前
|
存储 C语言 C++
指针进阶(函数指针)(C语言)
指针进阶(函数指针)(C语言)
|
5月前
|
编译器 C语言
指针进阶(数组指针 )(C语言)
指针进阶(数组指针 )(C语言)
|
5月前
指针进阶(3)
指针进阶(3)
37 1
|
5月前
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
45 0
|
27天前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
19 0
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
3月前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)

热门文章

最新文章