itgle.com

若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},( *p)[3]; p=s;A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]

题目

若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},( *p)[3]; p=s;

A.*(*(p+i)+j)

B.*(p[i]+j)

C.(p+i)+j

D.(*(p+i))[j]


相似考题
更多“若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为i ”相关问题
  • 第1题:

    若有以下定义和赋值语句,“int s[2][3],(*p)[3]; p=s;”,则对数组s的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为()。

    A.*(p+i)+j

    B.*(p[i]+j)

    C.(p+i)+j

    D.(*(p+i))[j]


    A

  • 第2题:

    若有以下定义和赋值语句,int s[2][3]={0},(*p)[3];p=s; 则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为:

    A.*(p+i)+j

    B.*(p[i]+j)

    C.(p+i)+j

    D.(*(p+i))[j]


    D 本题考查数组指针的使用。本题中,int(*pt)[3];定义了一个名为pt的指针变量,它可以指向每行有3个整型元素的二维数组。故选D。

  • 第3题:

    设i,j已正确说明并赋值,若有定义:int a[2][3];,则对a数组的第i行第j列的正确引用为().

    A.*(a+i)+j

    B.*(a+i+j)

    C.*(*(a+i)+j)

    D.(a+i)[j]


    B 本题主要考查C语言合法语句的定义。 在选项A中,a==1不是一个合法的语句,因为它没有语句结束标识符“;”,不能说是一条语句,如果作为一个表达式,它是正确的。 在选项B中,由于变量i已被正确定义并有初值,“++i;”是正确的语句。 在选项C中,由于正确的赋值语句中,赋值符号的左边不能为常量或表达式,而右边不能为变量或表达式,很明显,“a=a++=5;”违背了赋值语句的原则。 在选项D中,“a=int(i);”语句是不正确的,在C语言中没有这种表示形式,如果是想将变量i强制转换为整型的操作,应该为“a=(int)i;”。

  • 第4题:

    设i,j已正确说明并赋值,若有定义 int a[2][3]; 则对a数组的第i行第j列元素的正确引用为().

    A.*(a+i)+j

    B.*(*(a+i)+j)

    C.*(a+i+j)

    D.(a+i)[j]


    x=y+z+5,++y

  • 第5题:

    设i,j已正确说明并赋值,若有定义:int a[2][3];,则对a数组的第i行第j列的正确引用为().

    A.*(a+i+j)

    B.*(a+i)+j

    C.*(*(a+i)+j)

    D.(a+i)[j]


    B 本题主要考查C语言合法语句的定义。 在选项A中,a==1不是一个合法的语句,因为它没有语句结束标识符“;”,不能说是一条语句,如果作为一个表达式,它是正确的。 在选项B中,由于变量i已被正确定义并有初值,“++i;”是正确的语句。 在选项C中,由于正确的赋值语句中,赋值符号的左边不能为常量或表达式,而右边不能为变量或表达式,很明显,“a=a++=5;”违背了赋值语句的原则。 在选项D中,“a=int(i);”语句是不正确的,在C语言中没有这种表示形式,如果是想将变量i强制转换为整型的操作,应该为“a=(int)i;”。