有如下程序: #include void get_put() { char ch; ch=getchar(); if(ch!=’\n’)get_put(); putchar(ch); }

admin2021-07-09  34

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

选项 A、1234
B、4321
C、4444
D、1111

答案B

解析 在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的执行过程为:调用get_put()函数,getehar()读入1,在这次调用中的局部变量ch=’1’,if条件成立->调用get_put()函数,读入2,局部变量ch=’2’->调用get_put()函数,读入3,局部变量ch=’3’->调用get_put()函数,读入4,局部变量ch=’4’->调用get_put()函数,读入回车,if条件不成立,返回。执行每次调用函数中if语句后的输出语句,依次输出4321。
转载请注明原文地址:https://kaotiyun.com/show/GOtp777K
0

最新回复(0)