若有下面的变量定义,以下语句中合法的是 int i,a[10],*p:
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/13 02:41:43
选B读的时候需要的是变量的地址CD都是A是字符串名就是字符串的首地址
定义数组时用的是常量表达式,而引用数组元素时可以使常量还以是整型表达式
第一次是指针赋值,第二次是指针的引用对象赋值,所以A错r的地址赋给了p,不是p所指的存储单元,B错赋给的是p指向的变量,C错选D
A)inta=b=0;//b未定义B)charA=65+1,b='b';//正确C)floata=1,*b=&a,*c=&b;//*c=&b,应该是*c=bD)doublea=0.0;b=1.1;//
答案是B,DA:等价于a=(b=0),即b=0;a=b.先对b赋0,然后再传给a,但是=右边必须是量,所以不正确.C:C是指向指针的指针,应该为**c=&b再问:答案给的是B,所以我觉得D也是对,所以
0)w=a=bw的类型和ab不同,类型不同占用的存储空间和存放的寄存器也不一样,如果要赋值需重新对类型进行注释:w=(int)a=(int)b0)a=a++=5连环赋值是c和C++特有用法,顺序是从右
应该是*p+=1;吧?int*p=&year;//定义一个指针变量,引用地址year,实际上就是year*p+=1;//*p是取地址的值,取出该值后再+1就可以增加了.
Da,b是double类型,如果ab是0.1,就会出现除数是零了,就出错了,D是对的,先判断,后赋值,这样允许的!
选AAa='&'是正确的Ba=’16’因为a是被定义为char,所以必须是字符,而16是字符串,不是字符,所以是错的Ca=”&”;是因为定义chara,不是stringa,字符串是用“”引的,而字符时
选B再问:能不能解释一下为什么?再答:其实我看错了应该选C,D的A的a+b是表达式不能作左值B项中(int)a+b是double类型的不能作%的除数CD是对的弱类型的变量可以赋给强类型的变量但是不能反
^是异或符号,因此只要两个数相同,异或出来就一定是0,所以输出结果是0.
B错了,很明显,A中*p就代表year,++(*p)就相当于++year,而B中先算++p,p是year的地址,就是地址加一,自然不能把year变成2010了
D,A我用visualc++试过,说左操作必须为左值,就是说只能a=a+b,或a=b++;B显然被除数必须为整数.C除数和被除数不是同一类型.
a.p=a+2a是指针p是指针p=a+2合法,不过题中P大写不正确b.p=a[5]类型不匹配c.p-a[2]+2类型不匹配d.p=&(i+2)不能取表达式地址
可以读一下课本里的详细解释.局部变量、全局变量、静态变量再问:书上说的不是很详细,你帮我解释解释哈呀..拜托
else匹配最近的if意思就是如果a=b的情况就没语句了也就是y=0条件a
这道题你可以带入数字去验证:设a=1,b=2.A选项:a=a+b=1+2=3,此时a=3(a得到新值),b=a-b=3-2=1此时b=1,a=3-1=2此时a=2,很明显A成立B选项:t=a就是t得到
第一题:while中的条件表达是ch=getchar()=='A',按照运算符优先级先做getchar()=='A',输入字符'A'时表达式的值为真,也就是1,再做ch=1,ch得到时值为1,同时表达
vf不需要定义,直接使用