C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[0]=&a[1][2]; D.p[1]=&a;但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 17:21:57
C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[0]=&a[1][2]; D.p[1]=&a;但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])?

C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[0]=&a[1][2]; D.p[1]=&a;但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])?
C语言
若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()
A.p=a;B.p[0]=a;
C.p[0]=&a[1][2]; D.p[1]=&a;
但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])?

C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[0]=&a[1][2]; D.p[1]=&a;但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])?
int a[2][3], *p[3];
分析:
对于a来说,毫无疑问,a是一个二维数组,a的值指向int类型的起始地址.
对于p,首先p先与'[ ]'结合 p[3],表示p是一个数组,p再与'*'结合成' *p[3] ',表示p数组里面存放的时指针变量,最后与int类型结合成' int *p[3] ',表示数组存放的时指向int类型的指针.
p[0]=&a[1][2];
所以p[0]的值是一个指向int类型的指针.
而a[1][2]的值是一个int类型,再加上'&'(取地址符)得到的就也是一个指向int类型的指针了.
所以p[0]=&a[1][2];成立.
建议ZL看看 《让你不再害怕指针》
回答完毕.

c语言 若有定义语句 int b = 2; 则表达式 ( b C语言 若有定义:int a=1,b=2,c=3;则语句++a丨丨++b&&++c,运行后b的值为多少 C语言,若有定义语句”Int a=5”为什么a++的值是5?如题,不是说+1吗?那为什么不是6呢? C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值是 若有定义:double a=22;int i=0,k=18;为什么(i=a%11)是不符合C语言规定的赋值语句. C语言 若有定义,int a=010,b=1,c=2;接着顺序执行下列语句后,变量c中的值是3?(C语言若有定义,int a=010,b=1,c=2;接着顺序执行下列语句后,变量c中的值是3?(why)c=(a-=(b+5));c=(a%11)+(b=1); 计算机C语言7.有以下定义语句double a,b;int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是______.(2分) A.a=a+b=b++ B.w%((int)a+b) C.(c+w)%(int)a D.w=a==b; C语言赋值表达式问题:若定义有语句:int a=3,b=2,c=1; 以下选项若定义有语句:int a=3,b=2,c=1; 以下选项中错误表达式是()a)a=(b=4)=3;b)a=(b=4)+c;c)a=b=c+1;d)1+(b=c=4);A为什么错?谭浩强书中(a=3*5)=4*3 C语言 若有定义语句int a,b;double x;则下列选项中没有错误的是?选C?若有定义语句int a,b;double x;则下列选项中没有错误的是?选C?switch(expr1)中,expr1只能是byte short int char类型.其他的类型不行A)swit C语言运算符与表达式的几个题,1.已知int x=1,y=2,z;,执行语句z=x>y||x&&y,后,z的值为?2.若有定义int a=10,b=9,c=8;按着顺序执行下列语句后,变量b中的值是__.c=(a-=(b-5));c=(a%11)+(b=3);3.若有定义int b=7;float C语言 、若有定义:int a=8,b=5,c; 执行语句c = a/b+0.4 ;后,c的值为( ).A) 1.4 B) 1 C) 2.0 D) 22 、以下程序中,while 循环的次数是( ).#include void main(void){ int i = 0;while (ib>a);}A) 2 B) 1 C) 0 D) 38、执行以 c语言:请问一下这几个表达式为什么不对?==是什么意思?有以下定义语句double a,b;int w;long c;若各变量已经正确赋值,则下列选择中正确的表达式是?A) a=a+b=b++B) w%((int)a+b)C) (c+w)%(int)aD) w=a==b所以有 C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[0]=&a[1][2]; D.p[1]=&a;但是我在其他地方看到似乎A这种表达也没有错误,还有*p[3]是不是等价于*(p[3])? .若有定义:int a=20,b=28,c;则执行语句c=(a^b) C语言:有以下定义语句 double a,b; int w; long c;若个变量已经正确赋值,则下列选项中不正确的表达式是()A) a=a+b=b++B) w%(int)(a+b)C) (c+w)%(int)aD w=a==b 若有定义语句“(int a =25,b=14,c=19)”则下列语句的执行结果是(?)语句:if(a++ C语言中,在main函数一开始定义了 int i;后来又在for语句中有int i 这样的语句,为什么编译时出错. 若有定义:int a=1,b=2,c=3; 则语句 ++a||++b&&++c;运行后b的值为