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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 林哲生10 于 2016-8-2 21:46 编辑

(1)若有定义:int bb[8];.则以下表达式中不能代表数组元素bb[1]的地址的是().
A &bb[0] + 1
B &bb[1]
C &bb[0]++
D bb + 1
答案:C
解析:&和++优先级相同,结合性从右到左,所以&bb[0]++相当于&(bb[0]++).  bb[0]++这个表达式返回的值是一个常量,不能对一个常量取地址

(2)修改以下程序:
#include<stdio.h>
int main()
{
    int a = 10++;
    return 0;
}
答案:
#include<stdio.h>
int main()
{
    int a = 10;
    a++
    return 0;
}

解析:10++相当于10 = 10 +1;因此常量无法使用++.

(3)判断:
break语句不用用于循环语句switch语句外的任何语句
答案:对
解析:在if中使用也要求if在循环体内

(4)写一个函数,实现将一个整型二维数组内的所有元素,进行从大到小的排序(不能使用指针):
答案:

3 个回复

正序浏览
anan安 发表于 2016-8-2 16:54
第一个好像不是优先级的问题吧 (&bb[0])++ 对吗?

嗯嗯,查了一下,++和&优先级相同,结合性是从右到左

(&bb[0])++是正确的
回复 使用道具 举报
常量无法++总结的好
回复 使用道具 举报
第一个好像不是优先级的问题吧 (&bb[0])++ 对吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马