niusouti.com

若有如下程序: main() {static char*a[3]={"123","456","789"); char **b; b=a; ++b; printf("%s,%s\n",*a,*a+1); printf("%s,%s\n",*b,b[1]); } 则程序运行后的输出结果是( )。A.123,456, 456,789B.123,23 456,56C.123,23 456,789D.123,456 456,56

题目

若有如下程序: main() {static char*a[3]={"123","456","789"); char **b; b=a; ++b; printf("%s,%s\n",*a,*a+1); printf("%s,%s\n",*b,b[1]); } 则程序运行后的输出结果是( )。

A.123,456, 456,789

B.123,23 456,56

C.123,23 456,789

D.123,456 456,56


相似考题
更多“若有如下程序:main(){static char*a[3]={"123","456","789");char**b;b=a;++b;printf("%s,%s\n", ”相关问题
  • 第1题:

    有以下程序:

    void swap(char*x,char*y)

    { char t;

    t=*x;*x=*y;*y=t;

    }

    main

    { char*s1="abe",*s2="123":

    swap(s1,s2);

    printf("%s,%s\n",s1,s2);

    }

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

    A.A.123,abe

    B.abc.123

    C.1bc,a23

    D.321,cba


    正确答案:C
    本题考查swap函数,它的作用是把x、Y所指的内容互换,其他的不变,因此当执行完调用函数后,仅仅'a'与'1'互换,其他的没有变。

  • 第2题:

    有以下程序 void swap(char *x,char *y) {char t; t=*x;*x=*y;*y=t; } main() {char *s1="abc",*s2="123"; swap(s1,s2); printf("%s,%s\n",s1,s2); } 程序执行后的输出结果是______。

    A.123,abc

    B.abc,123

    C.1bc,a23

    D.321,cba


    正确答案:C
    解析:此题考核的知识点是指针变量值的交换。c语言中,字符串常量在内存中是以字符数组的形式进行存放的,因此字符指针x和y指向的是各字符串的首地址,也就是字符串第—个字符的地址,则*x与*y交换的是字符串的第—个字符,即字符“a”与“1”的交换,而字符串中其它字符保持不变,所以答案选C。

  • 第3题:

    有以下程序:void swap (char *x,char *y){char t; t=*x,*x=*y;*y=t;}main(){char* s1="abc",*s2="123"; swap(s1,s2); printf("%s,%s\n",s1,s2);}程序执行后的输出结果是( )。

    A.123,abc

    B.abc,123

    C.1bc,a23

    D.321,cba


    正确答案:C
    解析:首先看swap()函数,函数中定义了一个临时字符变量t,然后将形参指针x所指内容存入t,再将形参指针y所指内容存入到x所指内容中,最后将临时变量t的内容存入到y所指内容中。所以该函数实现的是:交换两个字符指针所指向的内容。在主函数中,首先定义了两个字符指针s1和s2,同时用字符串"abc"和"123”来初始化它们,此时它们指向的是两个字符串的第1个字符。所以,在调用完swap()函数后,彼此交换了两个字符串的第1个字符,最后输出结果为1bc,a23。故应该选择C。

  • 第4题:

    有以下程序 void swap(char* x,char *y) {char t; t= *x; *X= *y; *y=t; } main() {char*s1:"abc",*s2="123"; swap(s1,s2);printf("%s,%s\n",s1,s2); } 程序执行后的输出结果是

    A.123,abc

    B.abc,123

    C.1bc,a23

    D.321,cba


    正确答案:C
    解析: 这是一个转换程序:低字节相互转换,高字节不变。“abe”的ab和“123”的12相互转化。

  • 第5题:

    执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是()。main(){char s[100];int c, i;sc

    执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是( )。 main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s\n",c,i,s); }

    A.1,456,789

    B.1,23,456

    C.1,23,456,789

    D.123,456,789


    正确答案:B
    解析:第一个输入语句只接收一个字符'1';第二个输入语句接收一个整数23,遇到空格停止;第三个输入语句接收一个字符串"456",遇到空格停止。