当前位置: 代码迷 >> C语言 >> 麻烦高手给小弟翻译一下,谢谢!
  详细解决方案

麻烦高手给小弟翻译一下,谢谢!

热度:436   发布时间:2007-02-22 12:27:56.0
麻烦高手给小弟翻译一下,谢谢!
对以下程序,从第一列开始输入数据:2473<CR>,<CR>代表Enter,程序的输出结果是
A)668977 B)668966 C)66778777 D)6688766 答案是A
#include "stdio.h"
main()
{ int c;
while((c=getchar()!='\n')--------------------------
{ switch(c-'2')------------------------------------
{ case 0 ; --------------------------------------
case 1 ; putchar(c+4);-------------------------
case 2 ; putchar(c+4); break;------------------
case 3 ; putchar(c+4);-------------------------
case 4 ; putchar(c+4); break;------------------
}
} printf("\n");
}
希望高手能在我划"--------"的后面给写出汉语的解释/翻译.在这先谢谢了!
搜索更多相关的解决方案: 麻烦  翻译  

----------------解决方案--------------------------------------------------------
这个有问题啊,我帮你修改如下:
#include "stdio.h"
main()
{ int c;
while((c=getchar())!='\n')//读入一串字符,以回车结束。
{ switch(c-'2')//两个字符相减结果为-2~7之间
{ case 0 ://如果相减结果为0会执行case1和case2
case 1 : putchar(c+4);//相减结果为1,输出字符,并且执行case 2
case 2 : putchar(c+4); break;//如果相减结果为2,输出字符,并且结束
case 3 : putchar(c+4);//如查相减结果为3,输出字符,并且执行case 4
case 4 : putchar(c+4); break;//如果相减结果为4,输出字符,并且结束。
}
} printf("\n");
}

[此贴子已经被作者于2007-2-22 19:21:28编辑过]


----------------解决方案--------------------------------------------------------

还有一点是不是你的输入结果有问题,结果为66877


----------------解决方案--------------------------------------------------------
2楼好历害.
----------------解决方案--------------------------------------------------------

这个目的是什么,我还没弄清


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
我觉得是不是和溢出有关
----------------解决方案--------------------------------------------------------
这个..这个...

----------------解决方案--------------------------------------------------------
不错啊。。。
----------------解决方案--------------------------------------------------------
呵呵  谢谢二楼了 但是我的书上结果只有那ABCD那四种答案哦!我刚才又看了一边书,但是没有你说的那个结果,等我有时间用TC运行一下看看结果好了!再次感谢二楼!
----------------解决方案--------------------------------------------------------
  相关解决方案