C语言进阶习题【1】指针和数组(4)——指针笔试题3

笔试题5:下面代码输出是是什么?

c 复制代码
int main()
{
    int a[5][5];
    int(*p)[4];
    p = a;
    printf( "%p,%d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);
    return 0;
}

分析

代码结果

笔试题6:下面代码输出是是什么?

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

分析

代码结果

相关推荐
坚持编程的菜鸟6 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
年小个大6 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
码农颜6 小时前
5.4.1 锁分类
java·数据库·mysql
Android-Flutter7 小时前
为什么说ActivityThread是主线程?
android·kotlin
坚持编程的菜鸟7 小时前
编写判断大小端程序
c语言·算法·判断大小端
linux-hzh8 小时前
百日算法修炼 · Day 03
java·算法
不负岁月无痕8 小时前
简单理解操作系统结构
java·linux·c语言·开发语言·c++·面试
mister_guo9 小时前
Java线程池参数应该如何设置(ThreadPoolExecutor)
java
余额瞒着我当琳9 小时前
C++模板初阶与STL初探
android·java·c++
淡海水9 小时前
15-02-YooAsset面试篇-Unity架构设计与源码
java·unity·面试·c#·游戏引擎·yooasset