-1
私はif文とif-else文があるコードに問題があり、整数を入力する必要があり、そうでなければ再度数値を入力する必要があります。コードはwhile文であり、問題は、iは整数よりも、何かを入力すると、ループはelseステートメントを与える立ち往生ということです。また、コードはwhile文C - if-else文がスタックしてクラッシュする
while (1) {
blink_leds();
number_console();
}
に使用されている
static inline void number_console(void)
{
int x = 0;
fprintf_P(stdout, PSTR(GET_NR_MSG));
lcd_goto(0x40);
if (scanf("%d", &x) == 1 && x >= 0 && x <= 9) {
printf("\nYou entered number: ");
fprintf_P(stdout, (PGM_P)pgm_read_word(&numbers[x]));
fputc('\n', stdout);
lcd_puts_P((PGM_P)pgm_read_word(&numbers[x]));
lcd_putc(' ');
} else {
printf("invalid input\n");
}
}
をクラッシュ
です。また、ユーザーがEnterキーを押すと予想される場合は、getsc()の後にscanf()を入力してください。 – Lundin