求助:C程序分析结果!!!
发布网友
发布时间:2023-12-22 14:22
我来回答
共3个回答
热心网友
时间:2024-02-22 00:39
fun()是递归函数。程序运行后可以输入字符串,直到输入enter键,如输入abcd最后enter,则最后输出是:
d
c
b
a
即反向换行输出。
热心网友
时间:2024-02-22 00:40
一步步来不就行了……
main()之后首先进入fun()函数,
if ((c = getchar())!='\n') fun(); 就是说,从键盘得到的一个字符如果不是换行,则再次调用fun()函数,
再次调用fun()也就是重复上面的过程,再从键盘得到一个字符,直到得到换行;
再看得到换行后的程序,
最后一次进入fun()函数,c得到字符"\n",if 表达式为假,然后输出c,即输出"\n",然后输出换行符,函数结束,
这次函数结束后,返回到上一层,即 if 语句后的指令,再将之前得到的c输出,再输出换行符,函数结束,然后再返回上一层,再重复上述步骤,
最后fun()函数结束,输出"\nThe End.\n",程序结束。
结果就像这样:
输入:
ABCD(换行)
输出:(此行不计)
D
C
B
A
The End.
(输出结束)
热心网友
时间:2024-02-22 00:40
首先从main()调用fun()函数,、
c = getchar(),接收从键盘敲入的一个字符,如果不是敲的回车,则递归调用fun()函数,继续敲。。。,如果敲的是回车,则结束输入;逆序输出刚刚敲入的字符,如敲入:a,b,c 输出
c
,
b
,
a