2014-02-01 4 views
0

Я чрезвычайно новичок в C и мне нужна помощь в этом вопросе. Я хочу запустить массив, чтобы проверить, являются ли все элементы массива цифрами от 0 до 9. Если это не так, я хочу напечатать false, и если да, то я хочу напечатать true. По какой-то причине моя инструкция if пропускается, а то, что я только что вернул false пять раз. Благодаря!Почему мое заявление «если» пропущено?

#include <stdio.h> 

int main() 
{ 
    int array[5] = {1, 2, 3, 15, 24}; 
    int i; 
     for (i = 0; i < 5; i++) { 
      if (array[i] >= '0' && array[i] <= '9') { 
      printf("True\n"); 
      } 
     else 
     { 
     printf("False\n"); 
     } 
    } 
} 

ответ

0

Удалить '', потому что вы не работаете со строкой. Вместо этого используйте:

if (array[i] >= 0 && array[i] <= 9) { 
3

Ни один из элементов массива не находится выше '0', так как '0' составляет 30 десятичных знаков в ASCII.

Итак, ваш пример, самый высокий int 24, ни один из элементов не удовлетворяет вашему состоянию if.

Изменить его:

if (array[i] >= 0 && array[i] <= 9) { 
Смежные вопросы