写出结果
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题:
写出下列程序的输出结果 #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; }
第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题:
分析下面函数,以下说法正确的是 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; }
A.交换*p1和*p2的值
B.正确,但无法改变*p1和*p2的值
C.交换*p1和*p2的地址
D.可能造成系统故障,因为使用了空指针
第4题:
要定义两个指针变量,下面代码正确的是
A.int *p1,*p2;
B.int *p1, int *p2;
C.int* p1,p2;
D.int *(p1,p2);
第5题:
若有如下程序: 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
第6题:
分析下列程序:
#include<stdio.h>
main()
{ int*p1,*p2,*p;
inta=6,b=9;
p1=&a;p2=&b;
if(a<B) {p=p1;p1=p2;p2=p;}
printf("%d,%d",*p1,*p2) ;
printf("%d,%d",a,B) ;
}
程序的输出结果为( )。
A.9,6 6,9
B.6,9 9,6
C.6,9 6,9
D.9,6 9,6
第7题:
分析下列程序: #include<stdio.h> main() { int*p1,*p2,*p; int a=6,b=9; p1=&a;p2=&b; if(a<b){p=p1;p1=p2;p2=p;} printf("%d,%d",*p1,*p2); printf("%d,%d",a,b); } 程序的输出结果为( )。
A.9,6 6,9
B.6,9 9,6
C.6,9 6,9
D.9,6 9,6
第8题:
下列程序的输出结果是______。
main()
{ int a=2,b=4,c=6;
int*p1=&a,*p2=&b,*p;
*(p=&C) =*p1*(*p2);
printf("%d\n",c);
}
第9题:
写出下列程序的执行结果。 swap(p1,p2) int*p1,*p2; {int p; p=*p1;*p1=*p2;*p2=p; } main() {int a,b,*p1,*p2; scanf("%d%d",&a,&B); p1=&a;p2=&b; if(a<B)swap(p1,p2); printf("\na=%d,b=%d\n",a,B); } 若a=7,b=8,则程序的运行结果为( )。