更多“有以下程序main(){ char s[]={"aeiou"},*ps;ps=s; printf("%c\n",*ps+4);}程序运行后的输出 ”相关问题
  • 第1题:

    有以下程序

    main( )

    { char s[ ]"Yes\n/No",*ps=s;

    puts(ps+4);

    *(ps+4)=0;

    puts(s);

    }

    程序运行后的输出结果是(选项D中的第一行是空行)

    A.n/No Yes /No

    B./No Yes

    C.n/NO Yes /No

    D./No Yes


    正确答案:B
    解析:C语言类型的字符串中“\”为转义字符,  n表示回车符,所以ps+4输出的是回车符后的字符串,即为/No,*  (ps+4) = 0把第5个字符赋为0,是字符串的结束符,所以最后输出的字符串

  • 第2题:

    有以下程序: main() { char s[]="Yes\n/No",*ps=s; puts(ps+4); *(ps+4)=0; puts(s); } 程序运行后的输出结果是(选项D中的第一行是空行)( )。

    A.n/No Yes /No

    B./No Yes

    C.n/No Yes /No

    D./No Yes


    正确答案:B
    解析:主函数中定义了一个字符数组s并赋初值,一个字符串指针变量ps并让它指向s。程序中p+4的地址为数组第5个元素的地址,而调用put(str_adr)函数时,将从str_adr这一地址开始,依次输出存储单元中的字符,遇到第一个\0时结束输出,并自动输出一个换行符。所以put(p+4)将输出n/No,put(s)将从s第一个元素开始输出到第3个元素结束(因为执行*(p+4)=0语句后s中的第5个元素的值为0,而s中的第4个元素为\,puts将遇到\0,结束输出),即输出yes。所以,4个选项中选项B符合题意。

  • 第3题:

    有以下程序; main() {char s[]={"aaiou"},*ps; ps=s; printf("%c\n",*ps+4); } 程序运行后的输出结果是( )。

    A.a

    B.e

    C.u

    D.元素s[4]的地址


    正确答案:B
    解析:程序首先定义了一个字符数组s,然后让字符指针ps指向该数组的首地址。最后按字符形式输出*ps+4的值,即s[0]+4的值,'a'+4='e'。故应该选择B。

  • 第4题:

    有以下程序:include main( ){chars[] ="Yes\n/No",*ps=s;puts(ps +4); * (pa +4) =0;p

    有以下程序: #include <stdio.h> main( ) { chars[] ="Yes\n/No",*ps=s; puts(ps +4); * (pa +4) =0; puts(s); }程序运行后的输出结果是( )。

    A.n/No Yes /No

    B./No Yes

    C./NO Yes /No

    D.n/No Yes


    正确答案:B
    解析:用puts函数输出的字符串中可以包含转义字符,遇到转义字符,自动跳过去。例如本题中ps+4指的是'/'的地址,并不是'\n'的地址,所以puts(ps+4)输出的是/NO。C规定以字符'\0',作为字符串结束标志,以便系统据此判断字符串是否结束。本题执行*(Ps+4)=0之后,再执行puts(s),就相当于输出字符串Yes后遇到结束标志。

  • 第5题:

    有以下程序: main() { char s[]="Yes\n/No",*ps=s; puts(ps+4); *(ps+4)=0; puts(s); } 程序运行后的输出结果是(选项D中的第一行是空行) ( )。

    A.n/No Yes /No

    B./No Yes

    C./No Yes /No

    D./No Yes


    正确答案:B
    解析:主函数中定义了一个字符数组s并赋初值,一个字符串指针变量ps并让它指向s。程序中p+4的地址为数组第5个元素的地址,而调用put(stradr)函数时,将从stradr这一地址开始,依次输出存储单元中的字符,遇到第一个“\0”时结束输出,并自动输出一个换行符ad。r所以put(p+4)将输出n/No,put(s)将从s第一个元素开始输出到第3个元素结束(因为执行*(p+4)=0语句后s中的第5个元素的值为0,而s中的第4个元素为“\”,puts将遇到“\0”,结束输出),即输出yes。所以,4个选项中选项B符合题意。