guozhencai求助
main()
{
int v1=0,v2=0;
char ch;
while(ch=getchar()!='#')
switch(ch)
{case 'a':
case 'h':
default: v1++;
case '0':v2++;
}
printf("%d,%d",v1,v2);
getch();
}
红色部分怎么理解。
当输入 iiiiiiiiiii# 时,
输出结果是多少,为什么?
----------------解决方案--------------------------------------------------------
输入一个i v1 v2 都加一 结果自己数数 我看着就头痛
红色部分: 当ch等于 a ,h, 0 时 v2++; 当ch不等于a ,h, o 时 v1 v2 都++
关键在于对switch语句的理解
----------------解决方案--------------------------------------------------------
谢谢!!
[此贴子已经被作者于2005-3-23 16:33:33编辑过]
----------------解决方案--------------------------------------------------------
对不起啊 严重的道歉 上面的解释写做了
真混不下去了 快点让他沉下去 不要让别人看到了
更正:
首先 你的程序有误 在符号优先级中 赋值运算副优先级倒数第二 仅比逗号高
逻辑运算符都比逗号高 所以在输入后 循环条件内的运算为 先判断输入符号是否与#号等 不相等则赋值1给ch
所以在程序中 ch都是等于一的
再次就是我错误了
在你的这个switch中 输入0以外的字符时 v1 v2 都自加 只有在输入0时 v2++
再次表示抱歉 给你带来的麻烦请多加原谅
----------------解决方案--------------------------------------------------------
但是结果还是有错!!!
----------------解决方案--------------------------------------------------------