倒分。快来看啊!

z569362161 2009-12-13 08:40:29
#include<stdio.h>
void fun()
{ char c;
if((c=getchar())!='\n')
fun();
putchar(c);
}
int main()
{
fun();
return 0;
}

一道小题,从键盘上输入ABCDEFG《ENTER》写出输出结果。

我的答案是GFEDABC。

完了。晕死了。

谁能替我解释清楚为什么会输出这个东西吗?明天好辩解啊。谢谢!!!!
...全文
142 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
z569362161 2009-12-13
  • 打赏
  • 举报
回复
我这么聪明都答不上来,你们更答不上来了。

结了吧!
太乙 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 z569362161 的回复:]
来个狡猾跟聪明的帮我想想怎么能输出GFEDABC。
[/Quote]
printf("GFEDABC")
z569362161 2009-12-13
  • 打赏
  • 举报
回复
来个狡猾跟聪明的帮我想想怎么能输出GFEDABC。
太乙 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 z569362161 的回复:]
#include <stdio.h>
void fun()
{  char c;
    if((c=getchar())!='\n')
    fun();
    putchar(c);
}
int main()
{
    fun();
    return 0;
}

一道小题,从键盘上输入ABCDEFG《ENTER》写出输出结果。

我的答案是GFEDABC。

完了。晕死了。

谁能替我解释清楚为什么会输出这个东西吗?明天好辩解啊。谢谢!!!!

[/Quote]








void fun()
{ char c;
if((c=getchar())!='\n')
fun();
putchar(c);
}

ABCDEFG

c==A--fun()
|
|
\|/
c==B---fun()
|
|
\|/
c==C---fun()
|
|
\|/ .........
c==D---fun() 输出D
| /|\
| |
\|/ |
c==E---fun() 输出E
| /|\
| |
\|/ |
c==F----fun() 输出F
| /|\
| |
\|/ |
c==G---fun() 输出G
| /|\
| |
\|/ |
c=='\n' ---- 输出\n


所以输出的是\nGFEDCBA


老邓 2009-12-13
  • 打赏
  • 举报
回复
A
接10分

接10分

接10分
老邓 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mstlq 的回复:]
http://topic.csdn.net/u/20090917/16/79cb7e0e-dc8c-4b67-aef5-7ad69ff4f17d.html

看3楼 6楼 7楼……
收工……
[/Quote]
呵呵,貌似楼主不是要考编程...
老邓 2009-12-13
  • 打赏
  • 举报
回复

楼主可以结帖了!
mstlq 2009-12-13
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090917/16/79cb7e0e-dc8c-4b67-aef5-7ad69ff4f17d.html

看3楼 6楼 7楼……
收工……
老邓 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 z569362161 的回复:]
不是上机的题,帮想想。怎么解释。

大家仔细看答案。

上机我不就答GFEDCBA了吗!
[/Quote]
哦,明白了。
GFEDABC
接分要答ABC

所以,我答对了!
z569362161 2009-12-13
  • 打赏
  • 举报
回复
不是上机的题,帮想想。怎么解释。

大家仔细看答案。

上机我不就答GFEDCBA了吗!
hbvanguard 2009-12-13
  • 打赏
  • 举报
回复
vc2005 输出结果GFEDCBA 符合递归压栈出栈规则
mstlq 2009-12-13
  • 打赏
  • 举报
回复
答错了……
答案是
GFEDCBA
borefo 2009-12-13
  • 打赏
  • 举报
回复
我还真的想知道你怎么能得到这个答案的...
highball 2009-12-13
  • 打赏
  • 举报
回复
我这里没有问题啊,输出是逆序的,环境是VC6
单步追踪看一下呗
z569362161 2009-12-13
  • 打赏
  • 举报
回复
帮忙啊!怎么解释输出是GFEDABC
kouwenlong 2009-12-13
  • 打赏
  • 举报
回复
够明目张胆的啊。
老邓 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 z569362161 的回复:]
引用 1 楼 loaden 的回复:
递归


老大我的答案是GFEDABC。
[/Quote]
你答错了。
z569362161 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 loaden 的回复:]
递归
[/Quote]

老大我的答案是GFEDABC。
老邓 2009-12-13
  • 打赏
  • 举报
回复
递归

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧