以下错误的定义语句是 () A)int x[][3]={{0},{1},-
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/04 14:25:24
错误的是A赋值只能赋给变量,不能赋给表达式
inta[2][3],*p[3];因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针.即存放的是一个整数变量的地址.而&a[1][2]正好是一个整数的地址.所以p[0]=&a[1]
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也是对,所以
D是错误的,因为d是常量,如果能执行d++,就改变了d是值.
话说只有C是正确的吧A和B使用了非整形表达式,switch里只能用整形表达式,字符会被转换成整形,case里只能用常数,并且各异而D的switch后面有个分号switch(a-b);再问:话说只有D是
在机器上跑一边遍.A错了,\是转义字符,不能单独使用,比如要赋值\给ch,必须写成ch=‘\\’,否则编译出错
很明显是B,B中定义了一个只有5个元素的整形数组,却给它赋了6个值,明显的错误.D中的单引号不可以去,这是对字符型数组赋值的必要格式,去掉肯定出错.总之,B错误确定!
a[n];n是个变量,应该用常量.
(28)D,定义数组必须是常量,不能是变量(25)C,AP本身就是地址,不用&,BP没有初始化,D*p=&k应该写成p=&k(26)C,A就是定义了一个数组,B是定义了一个指向指针的指针,D是定义了一
A.*说明是double类型的指针,存放相应的地址.
D)绝对不正确;A)不完整B)正确C)正确说明B、C正确是经过测试的.
两个错误,第一个,应该是双反斜杠,你写成了单反斜杠第二个,应该用双引号,你写成了单引号再问:什么时候用单引号?什么时候双引号?再答:一般情况都是双引号,单引号使用的地方不多,如sql中,jsp或者js
选CA中switch(x%2),x为实数,不能求余B中(int)x%2.0,2.0为实数,不能求余D中case0.0:a++;break;case1.0:b++;break;case中不能用实数常量,
指针变量pt指向a数组!*pt相当于a[0];*(pt+1)相当于a[1];*(pt+1)[2]相当于*(pt+3);*(pt+3)等价于a[3];显然a[3]不存在!所以选项B非法!
答案:C在C语言中,数组的定义分配内存空间是按行分配的,所以在定义的时候,行号可以省略,而列号不可以省略.关于这样的定义问题,我想你应该把定义变量和它们的分配搞清楚,这样就可以啦!加油啦
首先在语法上是没错误的.但是在正常的使用中,会认为是错的.浮点数本来就是一个不精确的数值,比较相等最好是做差与一个满意的小数值比较来确定是否近似相等.==操作将返回一个布尔值,它的值只有两种状态,0或
B.inty[5]={0,1,3,5,7,9};有6个数了
③if(x>y)thenz=x;elsez=y;错误,不需要then⑤if(a=b)printf(“Yes”);elseprintf(“No”);错误,应该是a==b⑧if(x>0)y=0;elsey
第四个是正确的,二维数组在定义时,必须指定列数