为您找到"

有定义int x=2,*p=&x;*q=p,一下赋值语句错误的是

"相关结果约100,000,000个

若有定义int a[2][4],(*p)[4]=a;用指针变量p(不改变p)表示数组元素a[1...

p 是一个数组指针,用于指向一个4列的2维数组 a[2][4].这3种方式都可以表示元素a[1][2]的值: p[1][2], *(*(p+1)+2), *(p[1]+2)用程序输出作对比:include<stdio.h> int main(){ int a[2][4]={10,11,12,13, 20,21,22,23},(*p)[4]=a;printf("a[1][2]: ...

...j,a[10],*p;定义后,下列语句合法的是() A .p=p+2 B .p=

int j,a[10],*p;相当于int j;int a[10];int *p;所以A. p=p+2是合法的,是指针运算;不过p没有初始化,其值不确定B. p=a[5]不合法,a[5]是值不是指针,不能赋值给pC. 同BD. 不合法,(j+2)是表达式 ,不能取其地址 本回答由提问者推荐 举报| 答案纠错 | 评论 20 1 ljf10000 采纳率:50%...

已知:int a=1,*p=&a;,则以下表达式值为1的有( )。 A、*p B、p[0...

A:p指向a的地址,*p自然为1;B:指针数值可以表现为数组的形式,第一个元素对应p[0];C:*&a等同于*p;

C++中 ,定义 int i,*p=&i;后,以下正确的语句是? A.p=10; Bi=p; C.i...

很明显楼主有点搞混了(*)的意思, int *p = &i; 此时的 * 是定义一个指针p指向i; 而*p,此时* 不再是声明或者定义指针的意思,而是解引用,是对应于 & (取地址)的,&是取一个对象的地址 而 * 是取这个地址对应的对象。所以 *p就是i, *p = i。

#include <stdio.h> int func(int x,int *p); void main( ) { int...

func作用是将传入的第二个参数改为x+2+1=x+3,并返回2x+2+2=2x+4,所以 int a=1,b=2,c;c=func(a,&b); //这句执行后b=a+3=4 c=2*a+4=6 b=func(c,&b);//同上,b=2*6+4=16 a=func(b,&c);// c=16+3=19 a=2*16+4=36 即abc分别为36 16 19 ...

...i,x,*p; x=1; p=&a[2]; for(i=0;i<3;i++) x*=*(p

i=0;x*=*(p+i)等价于x=x*a[2]=1*3=3 i=1;x*=*(p+i)等价于x=x*a[3]=3*4=12 i=2;x*=*(p+i)等价于x=x*a[4]=12*5=60

...C)。 int a ,b , *p; float c, *q; A.p=&c B.q=p C.p=NULL D.q=...

q = p;:用p给q赋值。类型不对。p是指向int的指针,q却是指向float的指针,类型不同不能赋值。除非强制转换。p = NULL; :p是一个指针,但它不指向任何变量,多以答案对的。也就是暂时先不给它赋值,以后再赋值。如:int a = 0, *p;p = NULL;...p = &a;q = new : 语法错误。...

#include<stdio.h> void main() { int *p = 2; int result = 4 /...

定义指针时的*和使用指针时的*是不同的。定义的时候int *p表示p是一个指针,*p=2表示p指向的位置的值为2。你需要把这两句分开写

若有定义“int a[5]={1,2,3,4,5},*p=a;”,则以下表达式中值为3的是...

C.*p+2 没有一个是指向a[2]的,但C的结果是1+2=3

若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的是...

p++的结果是a[3],也就是4;但是p++本身的值是a[2],即为3.换句话说,p++后,p的值会加1,但是你在程序里加一句n=p++,就可以看到n的值还是p。A的意思应该是p++本身的值。补充一点,如果是++p的话,值就是a[3]了。不管是p++还是++p,结果都会自增1,但是它本身的值要看加号在前...
1 2 3 4 5 6 7 8 9

相关搜索