鱼C论坛

 找回密码
 立即注册
查看: 3102|回复: 11

刚学C语言求大神帮忙!

[复制链接]
发表于 2013-10-20 21:38:15 | 显示全部楼层 |阅读模式
10鱼币
#include <stdio.h>
main()
{
char c;
int v0 = 1,v1 = 0,v2 = 0;
do{
  switch(c=getchar())
  {
  case 'a':case 'A':
  case 'e':case 'B':
  case 'i':case 'I':
  case 'o':case 'O':
  case 'u':case 'U':v1+=1;
  default:v0+=1;v2+=1;
  }}
while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
键盘输入ADescriptor<CR>(<CR>表示回车)
结果为什么是v0=13,v1=4,v2=12?我算的答案v0=12,v1=4,v2=11;求大神帮忙!解答越详细越好!

最佳答案

查看完整内容

初始值 输入ADescriptor 输入 终值 v0 1 +11 +1 13 v1 0 +4 +0 4 v2 0 +11 +1 12 建议学学单步调试。。很简单的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 21:38:16 | 显示全部楼层
本帖最后由 my_angel 于 2013-10-20 23:33 编辑

   初始值     输入ADescriptor     输入<CR>     终值
v0     1                +11                          +1        13
v1     0                +4                            +0        4
v2    0                 +11                          +1       12
建议学学单步调试。。很简单的



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 21:49:45 | 显示全部楼层
这个是do...while的用,他是先执行一遍括号里的代码,再进行while判断,所以default语句是被执行了13次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 22:42:23 | 显示全部楼层
同上。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-20 23:04:41 | 显示全部楼层
JJ张彬华 发表于 2013-10-20 21:49
这个是do...while的用,他是先执行一遍括号里的代码,再进行while判断,所以default语句是被执行了13次

只输入了11个字符,先执行一遍括号里的代码也是12次啊!为什么是13次啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-20 23:05:53 | 显示全部楼层

大哥不要同上好吗,可以说仔细点吗?跪谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 23:21:26 | 显示全部楼层
学弟 发表于 2013-10-20 23:05
大哥不要同上好吗,可以说仔细点吗?跪谢!

因为最后一个输入<CR>在判断前也执行了一次循环体。。这么说明白了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-20 23:24:04 | 显示全部楼层
my_angel 发表于 2013-10-20 23:21
因为最后一个输入在判断前也执行了一次循环体。。这么说明白了吗?

<CR>的ASC码是10?循环控制语句里不是‘\n’吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-20 23:31:15 | 显示全部楼层
my_angel 发表于 2013-10-20 23:30
初始值
v0     1
v1     0

哥这什么意思啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 23:36:08 | 显示全部楼层
学弟 发表于 2013-10-20 23:31
哥这什么意思啊?

看上面。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-20 23:38:47 | 显示全部楼层
my_angel 发表于 2013-10-20 23:36
看上面。。。

明白了!跪谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-20 23:45:55 | 显示全部楼层
你搞笑了,v1初始都为1当然要比v2多一次了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 03:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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