鱼C论坛

 找回密码
 立即注册
查看: 3051|回复: 7

c输出问题

[复制链接]
发表于 2012-8-9 21:48:12 | 显示全部楼层 |阅读模式
2鱼币
#include<stdio.h>
int 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+3);
  default:putchar(c+2);break;
}
printf("\n");
return 0;
}
输入2473,输出668977,求得出答案的解释过程

最佳答案

查看完整内容

嗯,楼上说case后面可以不加东西,我都忘了…… 先说明一下这个swith的原理之一是,下面的语句没有遇到break的话就继续执行,不判断条件的执行, 直到break。 好,我们开始运行程序,首先,c接收到2了,c减2得0,运行case0,没有语句也没有break,接着运行 case1(这里就不判断c-2是不是1了,谁让前面没break的),输出c+4,也就是6,没有break,继续case2,输出c+4,还是6,因为c一直没变。 好了,终于有break了, ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-9 21:48:13 | 显示全部楼层
本帖最后由 Believe 于 2012-8-10 13:35 编辑

嗯,楼上说case后面可以不加东西,我都忘了……      

先说明一下这个swith的原理之一是,下面的语句没有遇到break的话就继续执行,不判断条件的执行,
直到break。

好,我们开始运行程序,首先,c接收到2了,c减2得0,运行case0,没有语句也没有break,接着运行
case1(这里就不判断c-2是不是1了,谁让前面没break的),输出c+4,也就是6,没有break,继续case2,输出c+4,还是6,因为c一直没变。 好了,终于有break了,结束。
c再接收4,减2后是case2(c没变,仍是4),输出c+4,也就是8,break.
c再接收7,减2后是5(同样不意味着c是5,c还是7),运行default,输出c+2,也就是9,break。
c再接收3,减2后是case1,输出c+4,也就是7,没有break,继续下面一行,输出c+4,还是7,break。   c不再接收,结束程序。

所以最后输出的是668977.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-10 12:36:53 | 显示全部楼层
你那个case0后面是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-10 12:45:37 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-10 13:30:22 | 显示全部楼层
本帖最后由 Believe 于 2012-8-10 13:34 编辑

其实看了最近的一些提问,我很怀疑楼主像一位鱼油说的那样是把作业发上来叫我们解答。
不管怎样,我希望楼主能扎实研究,并且及时对自己的提问做出回复,这是起码的尊重,我不希望
鱼C里面总出现这样的帖子,因感觉你不是真心求教的。  希望你能喜欢这个平台,
而不是单纯的利用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-10 13:30:57 | 显示全部楼层
我是师兄 发表于 2012-8-10 12:45
可以 什么都没有

啊呀呀,我都忘记了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-11 19:39:15 | 显示全部楼层
Believe 发表于 2012-8-10 13:30
其实看了最近的一些提问,我很怀疑楼主像一位鱼油说的那样是把作业发上来叫我们解答。
不管怎样,我希望楼 ...

有些练习题不懂,所以请教,感谢鱼友回答!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-13 13:28:30 | 显示全部楼层
哎 case语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 19:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表