gpt4 book ai didi

计数器未正确递增

转载 作者:行者123 更新时间:2023-11-30 21:03:21 25 4
gpt4 key购买 nike

我的计数器似乎没有增加(对于 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
<小时/>

顺便说一句,如果您是一个足够优秀的 C 程序员,可以使用:

while ((a = something) == somethingElse)

构造,您可能也应该了解 counterX++ 简写:-)

关于计数器未正确递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25591033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com