A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

下列程序运行结果正确的是(
int a[] = {1, 2, 3, 4, 5};
int *p = (int *)(&a + 1);
printf("%d, %d\n", *(a+1),*(p-1));
A. 2,1      B. 2,1      C. 1,5    D. 2,5
求高手解释一下,这道选什么?

第二题:多选题
打印几次,每次打印的结果是(  )
int main()
{
   int i = 0;
   while(i<10)
    {
       printf("%d\n",i);
       i++;
       if(i<1)
       {
           continue;
       }
       if(i==5)
       break;
       i++;
    }

}
A:3
B:5
C:0,2,4
D:0,1,2,3,4,

2 个回复

倒序浏览
D(&a是数组a的地址,也是中第一个元素的地址,+1就是第二个元素的地址,所以第一个值是2);AC(题中有两个i++,还要注意if(i==5)成立时执行的是break语句结束循环)
回复 使用道具 举报
悄然林静 发表于 2016-8-4 00:22
D(&a是数组a的地址,也是中第一个元素的地址,+1就是第二个元素的地址,所以第一个值是2);AC(题中有两 ...

第一题有三个选项第一个值都是2哦,为什么选d不选a、b
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马