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

相关推荐

链接
海梨花:我说话难听,你这简历跟没写没啥区别,搜搜别人的简历,用心写,不要随随便便就结束了
点赞 评论 收藏
分享
孙艹肘:校招不给三方直接让实习我都去了,,主打一个在学校呆着也是闲着,不如出来实习一下
点赞 评论 收藏
分享
ddd7_:跟我一模一样,加微信的hr都同一个,扫码了白年书人查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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