计数器不增加正常
问题描述:
我的柜台似乎并没有增加(对于C编程)计数器不增加正常
int ch;
int counterX = 0;
int counterY = 0;
while((ch = getchar()) != EOF) {
if (ch == 'X'){
counterX = counterX + 1;
}
if (ch == 'Y'){
counterY = counterY + 1;
}
}
香港专业教育学院做了一些测试,我似乎没有增加,无论我输入了counterX和counterY数量。请帮忙!
答
那应该工作,只要你添加一个右大括号和程序的其余部分。并提供你实际上有X
和/或Y
出现在输入流。
例如,下面的完整的程序:
#include <stdio.h>
int main (void) {
int ch, counterX = 0, counterY = 0;
while ((ch = getchar()) != EOF) {
if (ch == 'X')
counterX = counterX + 1;
if (ch == 'Y')
counterY = counterY + 1;
}
printf ("X = %d, Y = %d\n", counterX, counterY);
return 0;
}
的意志,当与echo XYZZY | testprog
运行,输出:
X = 1, Y = 2
顺便说一句,如果你足够好的Ç编码器来使用:
while ((a = something) == somethingElse)
构造,你也许应该知道关于counterX++
速记以及:-)
+0
是啊我的坏,我忘了把我的输出在我的循环内。反正 – user2947725 2014-08-31 10:53:23
你提交的代码是不可编译的,因为你错过了ch的定义,并且你错过了包含while循环的大括号 - 这个大括号可能是至关重要的。 – 2014-08-31 10:27:39
sry这只是我目前程序中有问题的一个粗略部分。生病编辑它 – user2947725 2014-08-31 10:30:08
尝试调试您的代码:http://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – alk 2014-08-31 10:31:48