niusouti.com
参考答案和解析
正确答案:C
解析:程序定义了一个指针数组s和一个字符型指针变量p。s有3个元素,其中s[0]指向字符串"one,s[1]指向字符串"two",s[2]指向字符串"three",执行p=s[1]后p指向字符串"two",所以*(p+1)=w。
更多“有以下程序:matin(){char * s[]={"one", "two", "three"}, *p; p=s[1]; printf("% c, % s\n", *( ”相关问题
  • 第1题:

    有以下程序 include void fun(char **p) { ++p; printf("%s\n",*p);

    有以下程序 #include <stdio.h> void fun(char **p) { ++p; printf("%s\n",*p); } main() { char *a[]={"Moming","Afternoon","Evening","Night"}; fun(a); } 程序的运行结果是

    A.Afternoon

    B.fternoon

    C.Morning

    D.orning


    正确答案:A
    解析:本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和—般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针(即字符型二级指针),所以数组名a可以用作函数fun()的实参。

  • 第2题:

    有以下程序: include main( ) { char *p ,* q; p=(char * )malloc(sizeof(char

    有以下程序: #include<stdlib.h> main( ) { char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf("%s%s",p,q); printf("%s%s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是

    A.def def

    B.abc def

    C.abc d

    D.d d


    正确答案:A

  • 第3题:

    有以下程序

    main()

    {char *s[]={"one","two","three"},*p;

    p=s[1];

    printf("%c,%s\n",*(p+1),s[0]);

    }

    执行后输出结果是

    A.n,two

    B.t,one

    C.w,one

    D.O,two


    正确答案:C
    解析:本题首先定义了一个有3个元素的指针数组s,并通过赋值使s[0]指向字符串“one”,s[1]指向字符串“two”,s[2]指向字符串“three”,然后通过赋值语句“p=s[1]”,使p指向了字符串“two”,故“*(p+1)”就是字符“w”。

  • 第4题:

    有以下程序includemain(){ char*p,*q;p=(char *)malloc(sizeof(char)*20);q=p;scanf(

    有以下程序 #include<stdlib.h> main() { char*p,*q; p=(char *)malloc(sizeof(char)*20);q=p; scanf(“%s%s”,p,q);printf(“%s%s\n”,p,q); } 若从键盘输入:abc def<回车>,则输出结果是

    A.def def

    B.abc def

    C.abc d

    D.d d


    正确答案:A
    解析:本题首先定义两个字符型指针变量p和q,通过malloc()函数申请 20个字符的存储空间,并把它的首地址赋给p,再把p的值赋给q,p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把“abc”读取到P指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把“def”存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区中内容是“def”,所以最后输出为def,def。

  • 第5题:

    有以下程序: main() { char *S[]={"one","two","three"},*p; p=s[1]; printf("%c,%s\n", *(p+1), s[0]); } 执行后输出结果是( )。

    A.n,two

    B.t,one

    C.w,one

    D.o,two


    正确答案:C
    解析:本题首先定义了一个有3个元素的指针数组s,并通过初始化列表使s[0]指向字符串“one”,s[1]指向字符串“two”,s[2]指向字符串“three”,然后通过赋值语句p=s[1],使p指向了字符串“two”,故*(p+1)就是字符‘w’。所以,C选项为所选。