为您找到"

(15)若在定义语句:int a,b,c,*p=&c;之后,

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

若有定义:int i ,j ,k ,*p; float a ,b ;( B )是不合法的赋值语句,(B...

B)赋值语句的顺序是自有向左的,1无法赋值给a+b,所以错误 C)相当于j=0;i=j;k=i;正确 第二题:A)强制转化语句应该是类型两侧写括号,正确的写法应为y=(float)i;B)相当于a=3;b=(float)i*a;所以正确 C)p是地址,而i是内容,内容是不能赋值给地址的,正确的写法应为*p=i;...

main() { int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;*p=*p1*(*p2...

如下: 最后一个输出语句还省一个结束的英文分号printf("%d\n",c)} 应该;printf("%d\n",c);} main(){ int a=1,b=3,c=5;int *p1=&a, *p2=&b, *p=&c;//这一语句是定义三个指针变量,并赋值 //即:使p1指向a;p2指向b;p指向c p=*p1*(*p2);//该句是给p所指的存储单元c...

若有说明语句:int a[ ]= { 1, 2, 3, 4, 5, 6, 7, 8 }, *p=a; 且0≤...

A是错误的。A是地址与整型相加,本身就是错误的。参照C选项,正确写法可以写成*(p+i),则i代表地址偏移。B中,先算p-a,即两个地址相减,值为0,则a[p-a]等价于a[0]。C中,根据i的值进行地址偏移,加上*取出地址中的元素。D中,p[i]等价于a[i]。望采纳。

大一C语言题目 24、若有定义语句:int a[2][3],*p[3]; ,则以下

核心在于p的类型。定义等效于 int *p[3];这里p是一个数组,包含三个元素,每个元素类型为int 所以 A p为数组名, 不可以赋值。B p[0]为int*, 而a为二维数组名,等效于int **, 类型不匹配。C a[1][2]为a的一个元素,类型是int,所以&a[1][2]是int*, 和p[0]类型相同, 所以这个...

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5];

a可以理解为这个数组的首地址 a[3]是指向第4个元素 所以p指向第4个元素 p[5]是从p后的5个 也就是第9个元素 所以b=9

c语言,假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。这...

如题所讲,a代表的是数组的首地址,它的值是不可以更改的,a只能表示数组首地址。所以a++本身就是不允许的。p是一个指针,可以把数组首地址赋值给指针,指针的值是可以改变的,所以p++是没问题的。

若有定义int a[5],*p=a;则正确引用数组元素的是 a *&a[5] b *a+2 c

正确引用数组元素的 是 *(a+2), 它等同 a[2];(p+5) 错在超界了。如果是 *(p+2) 或 *(p+4) 那么也是对的。 *(p+5) 指向 a[5], 按声明,下标最大到 a[4]。&a[5] -- 也是下标超界 a+2 是 a[0]+2, 不是 引用 1个 数组元素,而是表达式。

若有以下定义,则p+5表示___. int a[10],*p=a; a)元素a[5]的地址 b...

选A ,因为*p=a,这时是把数组a的首地址传给了指针p,而数组的定义是从a[0]开始的,所以p+5表示的是元素a[5]的地址,希望你现在明白了

c语言 ,指针问题,设已有定义,int a[10] ,*p;则合法的赋值语句是,A) p...

D,数组名即是数组首元素的地址,因此a+2也是一个合法的地址(虽然A,B,C在特殊情况下也是正确的)

变量定义为:int *p[3], a[3];,( C )是正确的赋值。 81. A.p = &a[

p是一个一维数组,没问题吧?他的元素类型是int*,所以他里面存的应该是指针(地址)值,理解?a是一个一维数组,他的元素是int,a就是这个数组的首元素地址,这个肯定记得吧。那么把a(类型是int*)赋给p中元素p【0】当然是没问题的了
1 2 3 4 5 6 7 8 9

相关搜索