若已定义int a;下面对(1)(2)两个语句的正确解释是
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/06 10:46:57
27:B。表达式必须要赋值给一个变量才行。故C错。等号左面必须是变量,故D错。A无此用法。28:D.编译器会先运算W*X,会把w的char类型转换为int,然后再相乘,结果与Z相加,则转换为doubl
A中的":="不是可识别的运算符,故错;B是对的,相当于:b=c+2;a=b;(赋值运算从右到左算);C:错的,要么定义变量:inta=18.5%3;要么数据类型强制转换:(int)18.5%3;in
B.a=b=c+2正确.相当于b=c+2;a=b;两句.C/C++是允许连续赋值的.不过所有选项最后都少了分号.
可以这么考虑!inta=1,b=10;do{b-=a;a++;}//执行这条语句时,b=b-a=10-1=9,a=2while(b--0不满足循环条件,跳出循环后b再自减一次,b=8希
选C因为a数组是常量不能用++a其他的都是可以的再问:能解释一下其他几个选项得2是怎么来的吗?再答:选项A就是a+1所指向的数组元素即a[1]选项B就是p+1所指向的数组元素即a[1]说白了A和B选项
voidfunc(inta,int&b)//传入的值为0和1,a=0b=1{a++;//a在函数中的值改为1,但是出函数后,x仍然=0b++;//b是引用传参(b相当于y),所以跳出函数后y的值改为2
intmax(inta[],intn){intmaxa=-1;for(inti=0;imaxa)maxa=a[i];}returnmaxa;}
第一句c=(a-=(b-5));先看a-=(b-5)b-5等于4a-=4就相当于a=a-4a是10,a=10-4就是6把6赋给c所以第一句执行完后a=6;b=9,c=6第二句c=(a%11)+(b=3
数组的下标是从0开始的所以a[1]是指数组中的第二个数,以此类推.所以a[1]=a[3]+a[2+2]-a[3-1];=a[3]+a[4]-a[2]=4+5-3=6最后为6
A错,p与a+1等价p向高地址移动一个int类型字节数再问:为什么啊?不懂耶再答:p是一个指向int型的指针变量,之所以特意声明指针变量的类型,就是让p指针在指向时,一次指向一个int型变量,而不是其
额看错了如果用二维数组名作实参和形参,在对形参数组声明时,必须指定第二维(即列)的大小,且应与实参的第二维的大小相同.第一维的大小可以指定,也可以不指定.
A.b[3][2],第一维越界B.b[1*2][0],对的C.b[2,1],非C数组表示法D.b(0)(2),非C数组表示法
*p=a[0],*a,*(a+0),p[0]都是数组的第一个元素1*(p+2),*(a+2),a[2],p[2],都是数组的第三个元素3a和p的差别就是a指针是常量无法做改变指针值,p是变量
选D,D只实现地址自增,表达式的值仍未原值(a++的值是a,但这之后,a=a+1;)A.是因为a即相当于数组有相当于指针B与C.&表示取地址,地址也是个数
逗号表达式从左往右计算,返回最后一个表达式的值.a*=2后a=4,返回a+1=5
500再问:能具体点吗?过程!再答:先采纳再问:已经采纳!能给个过程不?再问:救急啊!再答:哈哈再答:我也不知道
p是一个一位数组的地址,&a取到的是a这个二维数组的地址,两者的地址是不同的.这里有一个行地址、列地址的概念.再问:那么a[1][2]就不是二维地址吗?再答:不是了,这么说吧,a是一个二维数组,a[1
选C。A错,因为浮点型不能用在switch中。B错,本来将浮点型强制转换为整型之后用switch是可以的,但它在swich((int)x)后面多了个分号。C对,a+b的结果也是整型,没问题。D错,因为