更多“下面程序的输出是______。char s[]="ABCD";main(){char *p; for(p=s;p<s+4;p++) printf("%s\n",p) ”相关问题
  • 第1题:

    有以下程序: main() { char s[]="ABCD", *p; for( p=s+1;p<s+4;p++) printf("%s\n",p); } 程序运行后的输出结果是( )。

    A.ABCD BCD CD D

    B.A B C D

    C.B C D

    D.BCD CD D


    正确答案:D
    解析:本题中首先定义一个字符数组s,并将字符串"ABCD"存到数组s中,定义了一个字符指针变量p,在接下来for循环中,循环体共执行了三次,第一次p指向s[1],所以此时输出的p所指字符串的值为BCD,第二次循环p指向s[2],此时输出p所指的字符串的值为CD,第三次循环p指向s[3],此时输出的p所指的字符串的值为D。所以,4个选项中选项D符合题意。

  • 第2题:

    下面程序的输出是________。 char s[]="ABCD"; main() { char*p for(p=s;p<s+4,p++) printf("%s\n",p); }

    A.ABCD BCD CD D

    B.A B C D

    C.D C B A

    D.ABCD ABC AB A


    正确答案:A
    解析:在第一次执行for循环时,字符数组的首地址赋给了指针变量p,使得指针变量p指向了s的首地址,输出p所指向的字符串;第二次执行for循环时, p值增加1,p指向了s的第二个元素输出BCD;第三次输出CD;第四次输出 D;直到P指向字符串的结束字符“\0”,for循环终止抽行。

  • 第3题:

    下面程序的输出结果是( )。 char s()="ABCD",*p; main() { for(p=s;p<s+4;p++)printf("%s\n",p); )

    A.ABCD BCD CD D

    B.A B C D

    C.D C B A

    D.ABCD ABC AB A


    正确答案:A
    解析:p为指针型变量。第一次循环,p=s,p的值为字符数组s的首地址,输出字符串"ABCD"。p++,第二次循环,p的值为字符数组s的首地址加1,输出字符串"BCD"。p++,第三次循环,p的值为字符数组s的首地址加2,输出字符串"CD"。p++,第4次循环,p的值为字符数组s的首地址加3,输出字符串'D"。

  • 第4题:

    有以下程序

    main( )

    { char s[ ]="ABCD",*p;

    for(p=s+1;p<s+4;p++)printf("%s\n",p);

    }

    程序运行后的输出结果是

    A.ABCD BCD CD D

    B.A B C D

    C.B C D

    D.BCD CD D


    正确答案:D
    解析:本题中p为一个字符串的首指针,但循环开始时,它指向字符串s的第二个字符,而且每循环一次,指针向后移一位。

  • 第5题:

    下面程序的输出是______。 char s[]="ABCD"; main() { char *p; for(p=s;p<s+4;p++) printf("%s\n",p); }

    A.ABCD BCD CD D

    B.A B C D

    C.D C B A

    D.ABCD ABC AB A


    正确答案:A
    解析:在第一次执行for循环时,字符数组的首地址赋给了指针变量p,使得指针变量p指向了s的首地址,输出p所指向的字符串;第二次执行for循环时,p值增加1,p指向了s的第二个元素输出BCD;第三次输出CD;第四次输出D;直到p指向字符串的结束字符“\0”,for循环终止执行。