更多“若有以下定义,则不能代表字符。的表达式是______。char s[20]="programming",*ps=s;A.ps+2B.s[2]C. ”相关问题
  • 第1题:

    若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是_______。

    A.ps+2

    B.s[2]

    C.ps[2]

    D.ps+=2,*ps


    正确答案:A
    解析:ps+2就是s[2]的地址,即存放字符o的地址,所以A是错误的。

  • 第2题:

    若有如下定义: char s[20],*ps=s; 则以下赋值语句正确的是()

    A.s=ps+s;

    B.ps=ps+20;

    C.s[5]=ps[9];

    D.ps=s[0];


    ps=ps+20;

  • 第3题:

    若有如下定义: char s[20],*ps=s; 则以下赋值语句正确的是()。

    A.s=ps+s;

    B.ps=ps+20;

    C.s[5]=ps[9];

    D.ps=s[0];


    ps=ps+20;

  • 第4题:

    【单选题】若有以下定义和语句: int s[4][5], (*ps)[5]; ps=s; 则对s数组元素的正确引用形式是:()

    A.ps+1

    B.*(ps+3)

    C.*(ps+1)+3

    D.ps[0][2]


    C

  • 第5题:

    【单选题】若有如下定义: char s[20],*ps=s; 则,以下赋值语句正确的是________。(第7章 指针程序设计)

    A.s=ps+s;

    B.ps=20;

    C.s[5]=ps[9];

    D.ps=s[0];


    分析:此题涉及的知识点是字符数组与指针的应用,对每个选项逐个分析如下:(1) 数组名代表数组的首地址,s=ps+s;对数组名赋值是不允许的。(2) ps=ps+20;将会使数组的使用超界,导致产生不能预料的错误。(3) s[5]=ps[9];等价于s[5]=s[9];,实现对数组元素s[5]的赋值。(4) ps=s[0];试图将一个整数值赋值给指针变量,这是不允许的。所以答案为选项 C。