更多“设char*p=“abcde”,则printf(“%s”,p)的输出结果为( )。 ”相关问题
  • 第1题:

    有以下程序:

    void funl(char*p)

    { char*q;

    q=P;

    while(*q!='\O')

    {(*q)++;q++;}

    }

    main

    { char a[]={"Program"),*P;

    p=&a[3];funl(p);

    printf("%s\n",a);

    }

    程序执行后的输出结果是( )。

    A.Prohsbn

    B.Prphsbn

    C.Progsbn

    D.Program


    正确答案:A
    本题中使用了函数的调用,由{unl函数中的while循环可知,循环的作用是为了把q所指向的内容增加l,而从主函数传到函数时是从下标为3开始传,因此当调用函数执行完后,传过去的字符串为'hsbn',前面不变。

  • 第2题:

    以下程序运行后的输出结果是( )。

    include

    char*ss(char*s)

    {char*p,t;

    P=s+1;t=*s;

    while(*p){ *(P-1)=*P;P++;}

    *(P-1)=t;

    return s;

    }

    main()

    {char*p,str[10]="abcdefgh";

    p=ss(str);

    printf("%s\n",p);

    }


    正确答案:bcdefgha
    bcdefgha

  • 第3题:

    以下程序的输出结果为()。includemain(){ char *alpha[6]={"ABCDEFGH","IJKL","MNOP","

    以下程序的输出结果为( )。 #include<stdio.h> main() { char *alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"}; char**p;int i; p=alpha; for(i=0;i<4;i++)printf(" %s" ,p[i]);printf("\n" );}

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKLMNOPQRST

    D.AEIM


    正确答案:C
    解析:字符串数组中的每个元素是一个指向字符串的字符指针,可用一个指向指针的指针来指向一个字符串数组,题中p即为一个这样的指针,p[i]则指向了数组alpha的第i+1各元素。注意:用带下标的指针变量引用一维数组中的元素。

  • 第4题:

    有以下程序include main(){ 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 del

    C.abc d

    D.d d


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

  • 第5题:

    有以下程序:includemain(){char *p="abcde\Ofghjik\0";printf("%d\n",strlen(p));}程

    有以下程序: #include <string.h> main() {char *p="abcde\Ofghjik\0"; printf("%d\n",strlen(p)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.6

    D.5


    正确答案:D
    解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。由于字符串的结束标记为、0,其长度为第1个\0前的字符个数,故长度为5。所以4个选项中D正确。

  • 第6题:

    以下程序的输出结果为main(){ char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char **p; int i; p=alpha; for(i=0;i<4;i++) printf("%s",p[i]); printf("\n");} A.ABCDEFGHIJKL B.ABCDC.ABCDEFGHIJKLMNOP D.AEIM


    正确答案:C
    指针数组*alpha[6]实际上相当于一个二维数组,而p是一个指向指针的指针,p=alpha后,引用p[x]便是引用数组*alpha[6]中的第x个数组元素的首地址,所以打印的结果应当为ABCDEFGHIJKLMNOP。

  • 第7题:

    以下程序的输出结果是______。 char cchar(char ch) { if(ch>='A'&&ch<='z')ch=ch-'A'+'a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(* p) { * p=cchar(* p); p++; } printf("% s\n", s); }

    A.abe+ABC=DEFdef

    B.abc+abe=defdef

    C.abcaABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:字符数组元素作函数参数是单向的值传递。函数cchar的功能是将大写字母转换为小写字母。主函数中while循环语句的条件是判断指针p当前指向的字符是否为空,若不为空,则调用函数cchar,即主函数中通过循环语句将字符串"ABC+abc=defDEF"中的大写字母全部转换为小写字母,因此printf的输出结果为选项B。

  • 第8题:

    有以下程序: 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

  • 第9题:

    设有如下函数定义,则输出结果为_______。 char*fun(char*str) { char*p=str; while(*p) {if(*p>'d')continue; p++; } return p; } main() { printf("%s\n",fun("welcome!")); }

    A.welcome

    B.come!

    C.w

    D.程序进入死循环


    正确答案:D
    解析:continue语句的作用是用于结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。由于'w'>'d',执行continue语句,结束本次循环(即跳过p++;语句),还是继续比较'w'>'d',程序进入死循环。

  • 第10题:

    若有如下程序: void a(char*p,char c) {while(*p) { if(*p==c)*p=c-'b'+'B';; p++; } } main() {char s[50]="abcdeeffgee",b='e'; a(s,b);printf("%s\n",s); } 则程序运行后的输出结果是( )。

    A.Abcdeeffgee

    B.ABCDeeFFGee

    C.abcdEEffgEE

    D.ABCDEEFFGEE


    正确答案:C
    解析:函数a的功能是将字符数组s中的小写字母e变为大写字母,其余字符不变,4个选项中只有C符合题意。

  • 第11题:

    char*p;p=StrCat(“ABD”,”ABC”);Printf(“%s”,p);的显示结果为()。

    A-1

    BABDABC

    CAB

    D1


    B

  • 第12题:

    单选题
    已知:char s[4]=〞cba〞;char *p; 执行语句列p=s;printf(〞%c/n〞,*p+1);后,其输出为()。
    A

    c

    B

    b

    C

    a

    D

    d


    正确答案: B
    解析: 暂无解析

  • 第13题:

    下列程序的输出结果是______。 includef(char 8s){char *p=s;while(*p!='\0')p++;retur

    下列程序的输出结果是______。# include<stdio.h>f(char 8s){ char *p=s; while(*p!='\0')p++; return(p-s);}main(){ printf("%d\n",f("ABCDEF"));}

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第14题:

    有以下程序: include main( ) {char s[ ] ="159" , * p;p=s;printf( "% c", * p + +

    有以下程序: #include <stdio.h> main( ) { char s[ ] ="159" , * p; p=s; printf( "% c", * p + + ); printf("%~", * p++);}程序运行后的输出结果是( )。

    A.15

    B.16

    C.12

    D.59


    正确答案:A
    解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。

  • 第15题:

    有以下程序includemain(){char *p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));} 程

    有以下程序 #include<string.h> main() { char *p=“abcde、Ofghjik\0”; printf(“%d\n”,strlen(p)); } 程序运行后的输出结果

    A.12

    B.15

    C.6

    D.5


    正确答案:D
    解析:本题首先定义了一个字符型指针变量p,并用一个字符串给它赋值,然后调用printf()函数输出p所指向的字符串的长度。字符串的结束标记为“\0”,其长度为“\0”前的字符个数,故长度为5。

  • 第16题:

    设有如下函数定义,则输出结果为______。 char*fun (char*str) {char*p=str; while(*p) { if(*p>'d') continue; p++; } return p; } main() { printf("%s\n",fun("welcome!")); }

    A.welcome!

    B.come!

    C.w

    D.程序陷入死循环中


    正确答案:D

  • 第17题:

    有如下的程序: int f(char*s) { char *p=s; while(*p!='\0') p++; return(p-s); }如果在主程序中用下述语句调用上述函数,则输出结果为______。 printf("%d\n",f("best one!"));

    A.3

    B.6

    C.8

    D.9


    正确答案:D
    解析:函数f的功能实际上是统计字符串s的字符数,“bestone!”共9个字符,所以选D。

  • 第18题:

    若有如下程序: f2(char*t){*t=*t-32; return(*t);}fl(char*p){for(;*p!='\0';p++) if(*p>='a'&am

    若有如下程序: f2(char*t) { *t=*t-32; return(*t); } fl(char*p) { for(;*p!='\0';p++) if(*p>='a'&&*p<='z')f2(p); } main() {char a[10]="abcbgH"; f1(a); printf("%S",a); } 则程序运行后的输出结果是( )。

    A.ABCBGH

    B.abcdefgh

    C.abcdg

    D.EFH


    正确答案:A
    解析:程序的功能是将字符数组a中的小写字母变为大写字母,所以选项A符合题意。

  • 第19题:

    以下程序运行后,输出结果是()includess(char*s){char*p=s; while(*p)p++ return(p-s);

    以下程序运行后,输出结果是( ) #include<stdio.h> ss(char *s) { char*p=s; while(*p) p++ return(p-s); } main() { char *a="abded" int i; i=ss(a) ; printf("%d\n",i); }

    A.8

    B.7

    C.6

    D.5


    正确答案:D

  • 第20题:

    以下程序运行后的输出结果是______。 ss(char*s) { char*p=s; while(*p)p++; return(p-s); } main() { char*a="abded";int i; i=ss(a); printf("%d\n",i); }

    A.8

    B.7

    C.6

    D.5


    正确答案:D

  • 第21题:

    以下程序输出的结果为______。 main() { char*dlpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char*p; int i; p=alpha; for(i=0;i<4;iff) printf("%s",p[i]) }

    A.ABCDEFGHIJKL

    B.ABCD

    C.ABCDEFGHIJKLMNOP

    D.AEIM


    正确答案:C
    解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

  • 第22题:

    以下程序的输出结果是 char cchar(char ch) { if(ch>='A'&&ch<='Z') ch=ch-'A'+'a'; return ch; } main ( ) { char s [] = "ABC+abc=defDEF" , *p=s; while (*p) { *p=cchar(*p); p++; } printf { "%$\n", s); }

    A.abc+ABC=DEFdef

    B.abc+abc=defdef

    C.abcABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:本题考核的知识点是字符型指针变量与函数的综合应用。本题首先定义了一个函数cchar(),有一个字符型参数ch。在函数中首先判断该字符是否为大写字母,如果是则把它转换成小写字符再赋值给cb,把ch作为函数值返回。在主函数中定义了一个字符数组s并初始化,然后定义了一个指针变量并使它指向数组s。接着通过一个while循环利用指针变量p,依次取出字符数组的字符(直到遇到字符串结束标志['\0'为止),并调用cchar()函数,把大写字母转换成小写字母,其他字符不变。最后输出字符数组为s中的内容,结果为“abc+abc=defdeF”。所以,4个选项中B为所选。

  • 第23题:

    设有定义char*p=“abcde/0fghjik/0”;则printf(“%d/n”,strlen(p));输出结果是()

    • A、12
    • B、15
    • C、6
    • D、5

    正确答案:D