其他分享
首页 > 其他分享> > PTA之指针错误

PTA之指针错误

作者:互联网

1.

以下正确的说明语句是(D )。

A.int *b[ ] = {1, 3, 5, 7, 9};

B.

int a[ ] = {1, 3, 5, 7, 9}; 
int *num[5] = {a[0], a[1], a[2], a[3], a[4]};

C.

int a[3][4], (*num)[4]; 
num[1] = &a[1][3];

D.

int a[5], *num[5] = {&a[0], &a[1], &a[2], &a[3], &a[4]};

A.指针数组,不能赋值整型数

B.指针数组num[],a[0]为int

C.

2.

对于以下变量定义,正确的赋值是(C)。

int *p[3], a[3];

A.p = a

B.*p = a[0]

C.p[0] = &a[0]

D.p = &a[0]

A.数组名p就是一个二级指针,即p[0]的地址。a=&a[0]

B.*p=p[0],y=一级指针

D.&a[0]一级指针

3.

下面程序的运行结果是(2,4)。

#include<stdio.h>
int main(void)
{
      int x[5] = { 2, 4, 6, 8, 10 }, *p, **pp;

      p = x;
      pp = &p;
      printf("%d ", *(p++));  /* 数字后有一个空格 */
      printf("%d\n", **pp);

      return 0;
}

*(p++),用p++ 表达式计算

4.

设有以下程序段,若 k 为 int 型变量且 0≤k<4,则对字符串的不正确引用是(D )。

char str[4][10] = {"first", "secone", "third", "fourh"}, *strp[4];
int i;

for(i = 0; i < 4; i++){
    strp[i] = str[i];
}

A.strp[k]

B.*strp

C.str[k]

D.strp

B.*strp=*(&strp[0])

D.strp=&strp[0],二级指针

标签:pp,错误,int,strp,PTA,++,num,指针
来源: https://blog.csdn.net/qq_58309598/article/details/120584243