C言語のif文について指摘お願いします
C言語を習い始めてまだ一ヶ月ほどの者です。
以下のコードは一桁の自然数が入力されればその値を加算してそれ以外の文字は認めない、Eが押されたときfor文を終わらせて合計と平均を出力するプログラムです。課題に沿っているので大幅な変更はできません。
質問です。
このコードを実行すると一桁の自然数を入力してもIllegal Inputが出力されてしまします。else if と else が同時に実行されてしまう理由が分かりません。ご教授お願いいたします。
#include <stdio.h>
int main(){
char c;
int sum=0, count;
for(count=0;count>=0;){
scanf("%c", &c);
if(c=='E'){
printf("Sum is:%d\n", sum);
printf("Average is:%f\n", (float)sum/count);
break;
}else if(c>'0' && c<='9'){
sum+=(int)c-48;
count+=1;
}else{
printf("Illigal input:%c\n", c);
}
}
return 0;
}