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/07/19 05:01:13
![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])?](/uploads/image/z/4497938-26-8.jpg?t=C%E8%AF%AD%E8%A8%80+%E8%8B%A5%E6%9C%89%E5%AE%9A%E4%B9%89%E8%AF%AD%E5%8F%A5%EF%BC%9Aint+a%5B2%5D%5B3%5D%2C%2Ap%5B3%5D%EF%BC%9B%E5%88%99%E4%BB%A5%E4%B8%8B%E8%AF%AD%E5%8F%A5%E4%B8%AD%E6%AD%A3%E7%A1%AE%E7%9A%84%E6%98%AF%EF%BC%88%EF%BC%89A.p%3Da%EF%BC%9BB.p%5B0%5D%3Da%3BC.p%5B0%5D%3D%26a%5B1%5D%5B2%5D%3B+D.p%5B1%5D%3D%26a%3B%E4%BD%86%E6%98%AF%E6%88%91%E5%9C%A8%E5%85%B6%E4%BB%96%E5%9C%B0%E6%96%B9%E7%9C%8B%E5%88%B0%E4%BC%BC%E4%B9%8EA%E8%BF%99%E7%A7%8D%E8%A1%A8%E8%BE%BE%E4%B9%9F%E6%B2%A1%E6%9C%89%E9%94%99%E8%AF%AF%2C%E8%BF%98%E6%9C%89%2Ap%5B3%5D%E6%98%AF%E4%B8%8D%E6%98%AF%E7%AD%89%E4%BB%B7%E4%BA%8E%2A%EF%BC%88p%5B3%5D%EF%BC%89%3F)
xSn@~
ǤAy̍KeCq~!MB
)։a>{C^yggo 5j7c&CP̽WN=H˛*sq1EqFt-ާM{s؉
>{m%+>6Vcl8`+quLȤï[C>[dj۶̯ !q
AK2-n"!Axx"n'ЃLS-I)<=C{eT-vp\)mzoXшL=1se ͣ,+؆31ȿ]Eo\]ŗ8HJJGʺQ.0U}T[SZȲ*LyFMZj\ =-ɴA`++s
mM2<QC,Z-e@8Z
qަx|\?%LtJ N()O#h9n}$WH0R& o4STب
Vڵh"RUd2
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的值为