有如下程序 #include<stdio.h> void get_put() { char ch; ch=getchar(); if(ch!=’\n’)get_put(); if(ch!=’\n’)p

admin2017-07-05  29

问题 有如下程序
    #include<stdio.h>
    void get_put()
    {
    char ch;
    ch=getchar();
    if(ch!=’\n’)get_put();
    if(ch!=’\n’)putchar(ch);
    }
    main()
    {
    get_put();
    }
    程序运行时,输入AB<回车>,则输出结果是(    )。

选项 A、BA
B、BB
C、A
D、ABAB

答案A

解析 main()函数中调用get_put()函数,get_put()是递归函数,每次使用getchar()读入一个字符存放到ch中,若ch不是字符’\n’,递归调用自身,然后调用putchar()函数输出该字符。当输入AB\n(<回车>)时,直到读入的字符是’\n’,输出回车符,然后回到上一层递归,逆序输出各个字符,输出结果为:<回车>BA,所以本题答案为A。
转载请注明原文地址:https://kaotiyun.com/show/pZDp777K
0

最新回复(0)