参考答案和解析
正确答案:D
解析:第一次执行for循环时,p指向s[1]=B,故输出BCD;第二次执行for循环时,p指向s[2]=C,故输出CD;第三次执行for循环时,p指向s [3]=D,故输出D。正确答案为D。
更多“有以下程序:main(){char s[]="ABCD",*p;for (p=s+1;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

    B.A B C D

    C.B C D

    D.BCD CD D


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

  • 第2题:

    有以下程序

    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的第二个字符,而且每循环一次,指针向后移一位。

  • 第3题:

    下面程序的输出是______。 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循环终止执行。

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

  • 第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循环终止抽行。