Achar *p=s;
Bchar *p=&s;
Cchar *p;p=*s;
Dchar *p; p=&s;
第1题:
设有下面的程序段:
char s[]="china"; char*p; p=s;
则下列叙述正确的是
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相同
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
第2题:
若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。
①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。
②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。
第3题:
A.9
B. 5
C. 6
D. 7
第4题:
语句Char(*P)说明了( )。
A.P是指向函数的指针,该函数返回一个Char型数据
B.P是指向Char型数据的指针变量
C.P是指向数组的指针变量
D.P是一个函数名,该函数的返回值是指向Char型数据的指针
第5题:
若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。
A.两个语句都是将变量a的值赋予变量p
B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p
C.*p=a是将变量a的值赋予变量b,而&;a是使P指向变量a
D.两个语句都是使p指向变量a
第6题:
假定输入的字符串中只包含字母和*号。请编写函数 fun(),它的功能是:除了尾部的,:号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言的字符串函数。
例如,若字符串中的内容为****A*BC*DEF*G******,删除后,字符串中的内容应当是ABCDEFG******。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio. h>
include<stdio. h>
void fun(char *a, char *p)
{
}
main ( )
char s[81],*t;
printf ("Enter a string: \n ");
gets (s);
t=s;
while (*t)
t++;
t--; /*指针t指向字符串尾部* /
while (*t== '*' )
t--; /*指针t指向最后一个字母*/
fun (s, t);
printf ("The string after deleted: \n");
puts (s);
}
第7题:
在下列叙述中,错误的一条是______。
A.定义char*string="China"中的string是一个字符串变量,其值为China
B.若有一个多维数组a,则*(a+i)与a[i]等价
C.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组
D.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变
第8题:
若有定义float a=25,b,*p=&b;,则下列对赋值语句*p=a;和p=&a;的正确解释为( )。
A.两个语句都是将变量a的值赋予变量p
B.*p=a是使p指向变量a,而p=&a是将变量a的值赋予变量指针p
C.*p=a是将变量a的值赋予变量b,而p=&a是使p指向变量a
D.两个语句都是使p指向变量a
第9题:
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是( )。 struct node { char data; struct node *next; }a,b, *p=&a,*q=&b;
A.a.next=q;
B.p.next=&b;
C.p->next=&b
D.(*p).next=q;
第10题:
变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。
A.char *p=s;
B.char *p=&s;
C.char *p;p=*s;
D.char *p; p=&s;