设有说明语句:int k=7
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/04 06:03:02
从选项上看A[0][2]不是0就是3A[0][2]没有定义不是空值就是0所以这里是0A[2][2]是8选B
答案为:A.因为A根本不是赋值语句,因为没有赋值符号(=*=/=.).其它三个答案都是正确的赋值语句.只要记住赋值号(=或复合赋值符*=等)左边必须是变量名就行了.
先算x-=x+x;这个时候把左边的X重新赋值了也就是等于x=7-(7+7)=-7;再执行x+=后面的表达式:也就是等于x=x+x=-7+(-7)=-4了;
*p=x是定义了一个int型的指针p,并给这个指针赋值为x(x为一个数组,实际上也可以看做int的指针)p++就是取出p的当前值,然后把指针指向下一个元素,p+i就是取出指向第i+1个元素的指针.所以
B再问:为什么呢?再答:switch(b) {case0:printf("**0**\n");break;执行完后break,到了case2,就printf("**2**\n");了
如果定义intx[4][5],那么访问x[2][5]也是错误的,会越界.因为数组的下标都是从0开始的,所以最多只能访问到x[3][4].c语言都是先声明后运用,如果没有声明语句,当然不能引用变量.
CC表示指针指向字符串"Hello",B项中a表示字符串首字符地址,故不对,所以A也不对如用a[6]表示可以写成a[6]={"Hello"};D错.
赋值语句从右向左计算x=7x-=x+x=7+7=14x=x-14=7-14=-7此时x被赋值为-7x+=xx=x+x=-7-7=-14最后x=-14
先给你答案:B=0;解释如下:首先:定义B为整型变量,你并没有进行初始化,则其默认值为0;其次:执行语句时,这个语句主要是逻辑运算的一些组合,"^"是“异或”运算符,他说的就是"相异则或"(你可以这么
答案是Dp=&n之后,指针p指向n然后m=*p,就是把指针p指向的数(在这里就是n了)赋值给m,所以与m=n等价
4,3逗号语句执行最后一句既y.x
答案是正确的逻辑运算符的结合方向是从左到右当执行k=x--时逻辑||的左值为1,不管||后面的是0是1,此逻辑表达式的值都为1都不执行||右边的表达式了,所以y还是1
clude<stdio.h>#include<stdlib.h>voidmain(){intb[]=,x,y,*p=b;y=*(p++);/*后缀自增的操作,赋的值是未自增的*
为5p=&a[2][0]p-2=&a[1][1];*(p-2)=a[1][1]
A数组名不能进行自反赋值运算,数组名就代表这个数组的首地址,是不能更改的
选C每次循环i自加两次,第一次循环后i变成1,满足i
结果:(y=x-1)y=-1;原因:int x = 0, y = 2;if( x = 0 ){&nb
D.表达式“*p=a”说明p指向a[0]的位置;那么*p+6=a[0]+6=7;A错;p指向a[0]的位置,则p+6指向a[6]的位置,那么*(p+6)=a[6]=7;B错;p是一个指针,p的值本身是
\72表示的是一个字符哦\是转义符号,这里的72是八进制的,换成十进制为58如果是\92那就是错误的,因为9已经超过8进制的取值范围.1.一般转义字符这种转义字符,虽然在形式上由两个字符组成,但只代表