若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;为什么不选D?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 12:24:24
若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;为什么不选D?

若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;为什么不选D?
若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)
A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;
为什么不选D?

若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)A)p=a B)p[0]=a C)p[0]=&a[1][2] D)p[1]=&a;为什么不选D?
int a[2][3],*p[3];
因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针.
即存放的是一个整数变量的地址.
而&a[1][2]正好是一个整数的地址.
所以
p[0]=&a[1][2]正确.
因为D
int *p[3];
p是一个数组,这个数组存放的是整数指针.
p[1]就是一个整数指针.
但是&a并不是整数指针,它是一个数组的指针.

若有定义:int a;则语句a=(3*4)+2%3;运行后a的值为 若有以下定义和语句:int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6__. 若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】 若有定义:int a=1,b=2,c=3; 则语句 ++a||++b&&++c;运行后b的值为 C语言 若有定义:int a=1,b=2,c=3;则语句++a丨丨++b&&++c,运行后b的值为多少 若有定义语句:int a=1;则表达式:(++a)--的值是 . 若有定义语句:int a[4][10],*P,*q[4];且0 若有定义语句:int a[4][10],*p,*q[4];且0 若有定义语句int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4.请问a%3的值是几? 若有定义语句int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为多少 3、若有以下定义和语句:int a,b,c;scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为了使1,3,2分别赋20设有如下定义:int (*ptr)*(); 则以下叙述中正确的是A ptr是指向一维组数的指针变量B ptr是指向int型数据 c语言 若有定义语句 int b = 2; 则表达式 ( b 35.若有定义:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是 若有定义语句“(int a =25,b=14,c=19)”则下列语句的执行结果是(?)语句:if(a++ 1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]= 1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]= 1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;2.若有定义int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 ( )A.*p B.a[1] C.*a D.a[10]3.设有定义int x[6]= 若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为().