【单选题】若有如下定义: char s[20],*ps=s; 则,以下赋值语句正确的是________。(第7章 指针程序设计)A.s=ps+s;B.ps=20;C.s[5]=ps[9];D.ps=s[0];
【单选题】若有如下定义: 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。
相关考题:
有以下结构体说明、变量定义和赋值语句struct STD{ char name[10];int age;char sex;} s[5],*ps;ps=s[0];则以下 scanf 函数调用语句中错误引用结构体变量成员的是A)scanf("%s",s[0].name);B)scanf("%d",s[0].age);C)scanf("%c",(ps-sex));D)scanf("%d",ps-age);
设有如下程序段char s[20]= "Be i jing",*p;p=s;则执行 p=s; 语句后,以下叙述正确的是A) 可以用 *p 表示 s[0]B)s 数组中元素的个数和 p 所指字符串长度相等C)s 和 p 都是指针变量D) 数组 s 中的内容和指针变量 p 中的内容相等
程序中若有如下说明和定义语句:char fun(char *);main(){ char *s="one",a[5]={0},(*f1)()=fun,ch; ...}以下选项中对函数fun的正确调用语句是( )。A.(*f1)(a) B.*f1(*s) C.fun(a) D.ch=*f1(s)
程序中若有如下说明和定义语句: char fun(chat*); main() {char*s="one",a[5]={0},(*f1)()=fun,ch; } 以下选项中对函数fun的正确调用语句是( )。A.(*f1)(A);B.*f1(*s);C.fun(&A);D.ch=*f1(s);
有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; }s[5],*ps; ps=s[0]; 则以下scanf函数调用语句中错误引用结构体变量成员的是______。A.scanf("%s",s[0].name);B.scanf("%d",s[0].age);C.scanf("%c",(ps->sex));D.scanf("%d",ps->age);
以下语句或语句组中,能正确进行字符串赋值的是( )。A.char*sp;*sp="right!";B.char s[10];s="right!";C.char s[10];*s="right!";D.char*sp="right!";
程序中若有如下说明和定义语句Char fun(char *);main(){char *s="one", a[5]={0}.(*f1)()=fun, ch;…}以下选项中对函数fun的正确调用语句是A.(*f1)(A) ;B.*fl(*s);C.fun(A) ;D.ch=*fl(s);
有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。A.(*f1)(a);B.*f1(*s);C.fun(a);D.ch=*f1(s);
以下语句或语句组中能正确进行字符串赋值的是( )。A.ehar以*sp; * sp = "right!";B.char s[10] ;s = "right!";C.char s [10]; * s = "right !";D.char * sp = "right !";
若有定义和语句: char s[10]:s=""abcd"";printf(""%s/n"",s); 则结果是(以下u代表空格)()A、输出abcdB、输出aC、输出abcduuuuuD、编译不通过
单选题若有定义和语句: char s[10]:s=""abcd"";printf(""%s/n"",s); 则结果是(以下u代表空格)()A输出abcdB输出aC输出abcduuuuuD编译不通过
单选题设有以下函数:void fun(int n,char* s){……}则下面对函数指针的定义和赋值均是正确的是( )。Avoid(*pf)();pf=fun;Bvoid * pf();pf=fun;Cvoid * pf();* pf=fun;Dvoid(* pf)(int,char);pf=fun;
单选题有以下结构体说明、变量定义和赋值语句structSTD{ charname[10]; intage; charsex;}s[5],*ps;ps=s[0];则以下scanf函数调用语句有错误的是( )。Ascanf("%s",s[0].name);Bscanf("%d",s[0].age);Cscanf("%c",(ps-sex));Dscanf("%d",ps-age);
单选题设有如下程序段:char s[20]= Bejing,*p;p=s:则执行p=s;语句后,以下叙述正确的是( )。A可以用*p表示s[0]Bs数组中元素的个数和p所指字符串长度相等Cs和p都是指针变量D数组s中的内容和指针变量p中的内容相等