有以下定义:int a:long b:
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/07 10:10:04
Ainta=b=0//错误.此语句只定义一个变量,若b前面没有定义,则报错.Bchara=65+1,b='b';//正确.Cfloata=1,*b=&a,*c=&b;//错误.变量c是指向指针的指针.
呵呵,这个问题很简单A选项,涉及到运算符优先级问题.首先b++,运算,然后再a+b,再将b++赋值给一个常量(a+b)明显是错误的了.D首先判断a是否等于b,如果成立则将1赋值给w,否则将0赋值w
C正确,++,%操作符不能用于double,所以A,B错D错误,==操作符不能用于double,因为double类型只有7个有效字,最后一个是估计
第一句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型变量,而不是其
0)w=a=bw的类型和ab不同,类型不同占用的存储空间和存放的寄存器也不一样,如果要赋值需重新对类型进行注释:w=(int)a=(int)b0)a=a++=5连环赋值是c和C++特有用法,顺序是从右
A)a%(int)(x-y)//这个是正确的B)a=x!=y;//这个是语句,不是表达式C)(a*y)%b//a*y不是整数,%的两个操作数必须是整数D)y=x+y=x//x+y不能出现在左边
Da,b是double类型,如果ab是0.1,就会出现除数是零了,就出错了,D是对的,先判断,后赋值,这样允许的!
选B再问:能不能解释一下为什么?再答:其实我看错了应该选C,D的A的a+b是表达式不能作左值B项中(int)a+b是double类型的不能作%的除数CD是对的弱类型的变量可以赋给强类型的变量但是不能反
*p=a[0],*a,*(a+0),p[0]都是数组的第一个元素1*(p+2),*(a+2),a[2],p[2],都是数组的第三个元素3a和p的差别就是a指针是常量无法做改变指针值,p是变量
选A,B有些人会说B是不正确的,不过严格说来它是对的.虽然对double来说,相等判断用==或!=有点值得商榷,但是绝对是可以这么用的.C取模只支持整数a*y是double了D赋值的运算优先级是很低的
D,A我用visualc++试过,说左操作必须为左值,就是说只能a=a+b,或a=b++;B显然被除数必须为整数.C除数和被除数不是同一类型.
做这道题目首先要明确以下几点运算符的优先级顺序是++大于+大于==大于=double→float高↑long↑unsigned↑int←——char,short低A.相当于a=((a+b)=(b++)
500再问:能具体点吗?过程!再答:先采纳再问:已经采纳!能给个过程不?再问:救急啊!再答:哈哈再答:我也不知道
选C。A错,因为浮点型不能用在switch中。B错,本来将浮点型强制转换为整型之后用switch是可以的,但它在swich((int)x)后面多了个分号。C对,a+b的结果也是整型,没问题。D错,因为