3.若已定义“int a=5;”,下面对(1)、(2)两个语句的正确解释是()。(1) int *p=&a;(2) *p=a;
A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。
B. 语句(1)和(2)的执行结果都是把变量a的地址值赋给指针变量p。
C. 语句(1)在对p进行说明的同时进行初始化,使p指向a;语句(2)将变量a的值赋给指针变量p。
D. 语句(1)在对p进行说明的同时进行初始化,使p指向a;语句(2)将变量a的值赋给*p。
查看答案
4.下列程序的运行结果是()。#includeintmain(){intx=3,y=5,z=2,*px=&x,*py=&y,*pz=&z,*pm;pm=px;if(*px<*py) pm=py;if(*pm<*pz) pm=pz;printf("%d\n",*pm);return0;}
A. 3
B. 5
C. 2
D. 0
4.下列程序的运行结果是()。#includeintmain(){inta[]={10,20,30},*p=a,*q=&a[2];printf("%d\n",a[q-p]);}
A. 0
B. 2
C. 10
D. 30
1.若有定义语句:int a[]={1,2,3,4},y,*p=&a[0];则执行语句“y=++(*p);”之后,值发生了变化的元素是()。
A. a[0]
B. a[1]
C. a[2]
D. a[3]
void swap(int *p1,int *p2){ int p;p=*p1;*p1=*p2;*p2=p; }main(){ int a=5,b=7,*ptr1;*ptr2;ptr1=&a;ptr2=&b;swap(ptr1,ptr2);printf("*ptr1=%d,*ptr2=%d\n",*ptr1,*ptr2);printf("a=%d,b=%d\n",a,b);}运行结果:________