int (*b)[N/M]=(int (*)[N/M])a

昨天腾讯笔试题一道选择题:
请选择下列程序的输出结果是()
#include <stdio.h>
intmain()
{
constintN=10;
constintM=2;
int* a=newint[N];
for(inti=0;i<N;++i)
a[i]=(0==i%2)?(i+2):(i+0);
int(*b)[N/M]=(int(*)[N/M])a;
for(inti=0;i<M;++i)
for(intj=0;j<N/M;++j)
printf(“%d”,b[i][j]);
return0;
}
做java的看到这题一脸懵逼,
int (*b)[N/M]=(int (*)[N/M])a;主要是这句不理解
全部评论
b是一个指针,指向长度为5的int数组,这句话是把a的地址赋给b,b指针加1会移动5个数字的偏移
点赞 回复 分享
发布于 2017-09-14 14:49

相关推荐

01-04 07:53
门头沟学院 C++
心愿便利贴:工作了以后回头再看待这个问题,从客观的视角来讲是因为每个人对自己的要求不同,学习好的人对自己的要求很高,所以觉得考不好就天塌了,认为自己学习好并且值得一份好工作的人也是一样,找不到符合自己预期的工作肯定也会觉得是侮辱,牛客上有很多名校大学生,肯定会存在这种好学生心态啊,“做题区”从来都不是贬义词,这是大部分普通人赖以生存的路径,这个有什么好嘲讽的,有“好学生心态”没有错,但是不要给自己太大的压力了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务