写出结果
void foo(int p1[])
{
*p1 += 5;
}
void bar(int p2[])
{
p2[1] = 15;
}
void main()
{
int a[]={3,4,5};
int b[]={3,4,5};
int *p2;
p2=&a[1];
bar(p2);
printf("%i %i %i\n",a[0],a[1],a[2]);
p2=&b[0];
p2++;
foo(p2);
bar(p2);
printf("%i %i %i\n",b[0],b[1],b[2]);
}
第1题:
若有如下程序: sub(int * t,int n) {int *p1, *p2; for(p1=t,p2=t;p1-t<n;p1++) if(*p1<*p2) p2=p1; return(*p2);} main() {int a[9]={9,36,19,39,26,5,6,33,15}; printf("%d\n",sub(a,9));} 则程序运行后的输出结果是( )
A.5
B.9
C.15
D.39
第2题:
分析下面函数,以下说法正确的是 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }
A.交换*p1和*p2的值
B.正确,但无法改变*p1和*p2的值
C.交换*p1和*p2的地址
D.可能造成系统故障,因为使用了空指针
第3题:
写出下列程序的输出结果 #include <stdio.h> int main() { int *p1,*p2,*p,a,b; a=10; b=15; p1=&a; p2=&b; if(a<b) {p=p1;p1=p2;p2=p;} printf("a=%d,b=%dn",a,b); printf("%d,%dn",*p1,*p2); return 0; }
第4题:
要定义两个指针变量,下面代码正确的是
A.int *p1,*p2;
B.int *p1, int *p2;
C.int* p1,p2;
D.int *(p1,p2);
第5题:
分析下面函数,以下说法正确的是 。 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }
A.交换*p1和*p2的值
B.正确,但无法改变*p1和*p2的值
C.交换*p1和*p2的地址
D.可能造成系统故障,因为使用了空指针