zoukankan      html  css  js  c++  java
  • cpp-week_one-错题整理

    cpp-week_one-错题整理

    2-14.以下哪个定义中的p不是指针,请选择恰当的选项:

    A.char **p;

    B.char (*p)[10];

    C.char *p[6];

    D.给出的三项中,p都是指针

    **p

    • 先将*p看成是一个整体(内容是指向p的指针),设为t,则*t是指向t的指针,所以**p的意思是指向(指向p的指针)的指针

    char (*p)[10]

    • ()的优先级最高,意味着p和*先形成了指针,而[10](以10个元素)是指针p所指向的内容,char表明了[10]元素的数据类型。
    • 数组指针:指向数组的指针

    char *p[6]

    • []的优先级高于*,故p会与[10]先结合形成数组,而char * 规定了数组p的每个元素的数据类型为字符型的指针
    • 指针数组:存放指针的数组,数组里每一元素才是指针,这种数组是指针的集合

    2-16.若有说明: char *language[]={“FORTRAN”,“BASIC”,“PASCAL”,“JAVA”,“C”}; 则以下不正确的叙述是 ( )。

    A.language+2表示字符串"PASCAL"的首地址

    B.*language[2]的值是字符P

    C.language是一个字符型指针数组,它包含5个元素,每个元素是一个指向字符串变量的指针

    D.language是一个字符型指针数组,它包含5个元素,其初值分别j : "FORTRAN","BASIC","PASCAL","JAVA","C"

    B.*language[2]的值是字符P

    • language先和[2]结合找到PASCAL,在对PASCAL进行*操作,得到PASCAL的首字母。

    • #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
      	 char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"}; 
      	 cout<<language<<"  "<<*language<<endl;
      	 cout<<language+1<<"  "<<*(language+1)<<endl;
      	 cout<<language+2<<"  "<<*(language+2)<<endl;
      	 cout<<language+3<<"  "<<*(language+3)<<endl;
      	 cout<<language+4<<"  "<<*(language+4)<<endl;
      	 
      	 cout<<language[2]<<endl;
      	 cout<<*language[2]<<endl;
      	 cout<<*(language[2]+1)<<endl;
          return 0;
      }
      

    D.选DOG?

    2-54.设有下面的程序段:char s[]="china";char *p=s;则下列叙述正确的是____。

    A.数组s中的内容和指针变量p中的内容相等

    B.s和p完全相同

    C.s数组长度和p所指向的字符串长度相等

    D.*p与s[0]相等

    传送门

    答:答案:D
    A:s是字符数组,p是指向字符串的指针
    B:显然数组s中的内容和指针变量p中的内容不相等,应该换一种说法“数组s中的内容和指针变量p所指向的字符串的内容相等”

    • 指针变量p中的内容,存放的是地址?

    C:s数组的长度为6(包含结束符’’),p所指向的字符串长度为5
    D:*p=‘c’,s[0]=‘c’
    追问
    p所指向的字符串长度为啥是5呢?它不识别’’吗?
    追答
    '’不计入字符串总长度

  • 相关阅读:
    拜师鸟哥之linux学习体会(1)——计算器概论
    LeetCode刷题1
    jupyter notebook直接打开.md格式的文件
    [图论]最短网络:prim
    [图论]最短网络:kruskal
    [图论]最优布线问题:kruskal
    A+B Problem
    [图论]最优布线问题:prim
    [图论]求连通分量
    [图论]连通图:深搜(邻接矩阵)
  • 原文地址:https://www.cnblogs.com/BeautifulWater/p/14775487.html
Copyright © 2011-2022 走看看