每当我尝试运行以下代码来计算字符数时,我总是得到零而不是我插入的字符数。
#include <stdio.h>
void main() {
int c;
int count = 0;
while ( (c = getchar() != EOF) && c == 'a' ) {
count = count +1;
}
printf("Number of chara: %d", count);
}
我将代码更改为只在出现“ a”时才计数,但在输入字符并按回车键时仍只能得到零。
答案 0 :(得分:0)
当程序读取不是'a'的字符时,while循环的条件为false,从而结束while循环。由于您的程序在while循环中读取字符,因此不再读取任何字符。
在更新计数器之前而不是在循环条件下,尝试检查循环体内的字符是否为'a'。
答案 1 :(得分:0)
因为设置了c =='a',所以循环将停止。尝试在您的代码中删除它。
尝试这个:
int c;
int count = 0;
while (c = getchar() != EOF ) {
count = count +1;
}
printf("Number of chara: %d", count);
}`