假设有int a=1,*pa=&a; float b=1.2, *pb=&b; 则 pb=pa;是合法的。
举一反三
- 若有语句:int a,b; int *pa,*pb; pa=&a; pb=&b; 正确的输入语句是() A: scanf("%d%d",x, y); B: scanf("%d%d",pa,pb); C: scanf("%d%d",&pa,&pb); D: scanf("%d%d",*pa,*pb);
- 若已定义:int a=9,*pa=&a; float b=0.6,*pb=&b; 下列语句错误的是( ) A: *pa=a*5; B: pa+pb; C: =*pa+*pb; D: (*pb)=*pb+0.78;
- 如下指针变量声明语句正确的是? A: int *pa=&a,*pb=&b,a=10,b=20; B: int a=10,b=20,*pa=&a,*pb=&b; C: int a=10,b=20;int *pa,pb=&b; D: int a=10,b=20;int *pa,*pb=b;
- 以下代码的输出是 :void swap( int *pa, int *pb ) { int pt; pt = *pa, *pa = *pb, *pb = *pa; } int main(void) { int x=1, y=2; swap(&x, &y); printf("%d%d", x, y); }
- 以下代码的输出是 :void f( int *pa, int *pb ) { int pt; pt = *pa, *pa = *pb, *pb = *pa; } int main(void) { int x=1, y=2; f(&x, &y); printf("%d%d", x, y); }