首页>计算机>软件水平考试>模拟试题>正文
2010年9月软件设计师考前练习笔试及答案(3)

www.zige365.com 2010-7-1 17:23:03 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

  int(*(*ptr)(int))[10];
  int(*f( int n))[10]
  {return a+n;
  }
  void main()
  { int(*p)[10],*q;
  ptr=f;/*让ptr指向函数f*/
  P=(*ptr)(0);
  q=*p;
  printf("%d\n", *p);
  P=(*ptr)(l);
  q=*p;
  printf("%d\n", *q);
  }
  在上述代码中,函数有一个int型的形参。要是④,其意义与①相同,上述代码应写成“int* ptr[10];”,即 ptr是一个有10个元素的数组,数组元素是指向整型变量的指针。
  【解】二维数组定义有多种赋初值的办法,问题给出的代码是按行给数组的部分元素赋初值。它们分别是w[0][0]=0.w[0][1]=1、w[1][1]=2.w[1][1]=4,w[2][0]=5,w[2][1]=8。根据约定,未指定初值的元素自动置全0值。指针变量p是一个指向具有四个int型元素的一维数组的指针,定义时的初值使它指向数组W的第一行。①的代码,*w[1]+1中的W[l]是指向 w[l][0]的指针,*w[1] 就是w[1][0],其值是2,*w[1]+l的值是3。②的代码是逗号表达式,“p++,*(p+1)”先使p指向数组w的第二行,*(p+l)中的p+l是指向数组w的第三行,*(p+1)是指针值,指向数组w的第三行的第一个元素,即&w[2][0]. ③的代码w[2][2]引用数组W第三行的第三列元素,其值是0。④的代码p[1][l]引用数组W第二行的第二列元素w[1][1],其值是 4。所以解答是@。

本新闻共2页,当前在第2页  1  2  

我要投稿 新闻来源: 编辑: 作者:
相关新闻