若有定义:int X=0,* P=&x;,则语句printf(”%d\n”,* P.的输出结果是( )。 A.随机值 B.0 C.X的地址 D.P的地址
正确答案:B题中定义的语句等价于以下语句。故本题定义一个整型变量x和一个指向整型的指针P,并把变量X的地址赋值给P,即P为指向整型变量x的指针,则*P表示P所指向的整型变量x的数值。
举一反三
- 若有定义:int x=0,*p=&x; 则*p的值是( )。 A: 随机值 B: 0 C: x的地址 D: p的地址
- 若有定义:int x=0, *p=&x;,则语句printf("%d ",*p);的输出结果是
- 设已定义 int x=8, *p=&x ; 则printf("%d\n",*P);的输出结果为( )。 A: x的地址 B: 8 C: p的值 D: p的地址
- 若有以下定义语句int x=3,*p;则通过指针p输出x变量的值的语句printf(“%d”,p);。
- 定义一个指向数组x首地址的指针变量p,下列语句中错误的是( )。 A: int x[5], p = x[0]; B: int x[5], *p = x; C: int x[5], *p = &x[0]; D: int x[5], *p = &x[2]-2;
内容
- 0
已有定义:int x[10],*p; 能正确赋值的语句是: A: p=&x; B: p=x[0]; C: *p=&x[0]; D: p=x;
- 1
定义一个指向数组x首地址的指针变量p,下列语句中错误的是( )。? int x[5], p = x[0];|int x[5], *p = &x[0];|int x[5], *p = &x[2]-2;|int x[5], *p = x;
- 2
以下程序的输出结果是 main() {int a[]={2,4,6,8,10},y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf("%d\n",y); }
- 3
下面程序的输出结果是( )。int fun(int x){ int p; if(x==0||x==1) return 3; p=x-fun(x-2); return p;}main( ){ printf("%d",fun(9));}
- 4
已有定义:int x[10],*p; 能正确赋值的语句是: A: p=&x; B: p=x[0]; C: *p=&x[0]; D: p=x;