设有定义float a=2

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 05:59:08
设有变量定义 int a[3][2]={1,2,3,4,5,6},(*p)[2]=a;表达式**(p+2)的值?

(*p)[2]=a表示将p定义为一个指向含2个元素的一维数组的指针变量,那么二维数组就可以看作是一维数组a[3],其中每一个元素都是一个一维数组,a[1]={1,2},a[2]={3,4},a[3]=

设有变量定义 int a[3][2]={1,2,3,4,5,6},(*p)[2]=a;表达式**(p+2)=*p[2]的

**(p+2),*p[2]这两个表达式是等价的,当然,**(p+2)=*p[2]是一个赋值表达式,最终的值还是a[2][0],即5

设有变量定义 int a=2;则表达式 a+=a*=a%=3的值为

8再问:为什么呢,怎样算得再答:可以自己在程序上运行一下,我说的未必对,实验是最有力的说明

设有变量定义 int a=10,b=20;

a+=b等同与a=a+b,这样a=30,b=20a-=b等同与a=a-b,这样a=-10,b=20a*=b等同与a=a*b,这样a=200,b=20a/=b等同与a=a/b,这样a=0,b=20(因为

设有如下定义:int a,*p,*p1 = NULL,*p2 = NULL,sum[2] = {1,2};以下指针变量p

选B因为&a是一个指向数组的指针,而p是一个指向整型的指针,二者不是同一个概念.

设有定义int a=20,b=3;则表达式a+=(b%=2)的值为——( B )为什么

按照运算优先级,先计算b%=2,由于是int型变量,则3%2=1,a+=(b%=2)即为a+=1,结果为21

设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为(3)

int(*p)[2]//定义指向一维数组的指针;p=a//将首行的地址赋给p.此时,*p的值为二维数组a的首行的地址,**p即为首行第一个元素的值,即1;p++//此时p指向二维数组a的第二行,*p的

设有定义语句"double d1,d2;",则表达式"d1=1,d2=d1+5/2"的值是_________

5/2因为除号两边都是整数,所以按整型变量计算,5/2=2所以d2=d1+5/2=1+2=3如果是5.0/2就是3.5了

二维数组定义问题int n;scanf("%d",&n);floata[n][3];这样定义是否正确?为什么?

不正确,C语言不允许对数组的大小作动态定义,而n是变量,只是不允许的...

设有变量定义“intx=1,y=2,z=3 ;”,计算下列表达式的值

1)这个是要求什么表达式的值呢?后面的除2(/2)完全没有作用啊,执行后x=2,因为x是整型;若是x=((float)(y)+0.5)/2,执行后x=1;2)逗号(,)运算符求职顺序为自左至右,所以,

34) 设有以下定义和语句 int a[3][2]={1,2,3,4,5,6},*p[3]; p[0]=a[1]; 则

选c,p[0]指向a[1],也就是&a[1][0],二维数组在内存中的存储方式和一维数组一样也是顺序存放的,所以p[0]+1就是a[1][0]的下一个元素

设有定义int m=2,n=5,*p=&n;则语句“m=*p;”的结果是().

一步步分析:*p=&n;为定义指针p,同时指向n的地址;m=*p;为对m重新赋值,此时*p为对地址&n取值,即n的值5,所以m值变为5;但此语句不是指向操作,本质上说可以是int=int操作,所以p的

设有如下定义:char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( )

答案为D*aa[2]数组指针aa[0]aa[1]为数组名,分别为“abcd”"ABCD"的首地址也就是‘a’和‘A’的地址(详情参考指针那方面知识)A选项应该为“abcd”和“ABCD”的地址B选项是

设有定义语句:int x[6]={2,4,6,8,5,7},*p=x,i;

*p=x是定义了一个int型的指针p,并给这个指针赋值为x(x为一个数组,实际上也可以看做int的指针)p++就是取出p的当前值,然后把指针指向下一个元素,p+i就是取出指向第i+1个元素的指针.所以

17、设有如下定义: char *aa[2]={“abcd”,“ABCD”}; 则以下说法中正确的是( )。

char*类型的数组指的是每个元素都是char*指针char*指针是指向字符类型的所以aa数组的两个元素各自存放了字符'a'和‘A’的地址A)答案不对aa数组元素是两个char*字符类型的指针B)aa

设有定义语句static char a[][3]={{"12"},{"34"}};则a[1][0]=?,a[1][2]=

a[1][0]='3',a[1][2]='\0'CharacterstringsarenullterminatedinC.

设有定义语句“int a[][3]={{0},{1},{2}};"则a[1][2]的值为多少?

0啊,首先那个二维数组定义代表每一行有3列,但是不确定多少行,后面赋值每一个大括号中间是一行的数,其余自动补0啊.我记得是这样

、设有以下宏定义:#define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+

宏定义就是把出现的N和Y(n)用后面的表达式替换掉而已所以这里的z=2*(N+Y(5+1));等价于z=2*(3+4*6)=54所以选D

设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为()

答案选Bp = a;让a指向int a[2][2]的int a[][2];p++让p指向int[][2]的第二个地址,int a[1][2]的地址,所