Я найти максимальное значение char
путем простого добавления и тестирования, когда число становится отрицательным:Нахождение максимального значения обугленного в C
#include<stdio.h>
/*find max value of char by adding*/
int main(){
char c = 1;
while(c + 1 > 0)
++c;
printf("Max c = %d\n",(int)c); /*outputs Max c = -128*/
return 0;
}
Тесты while
петли впереди, так что первое время c+1
является отрицательный он ломается, и мы печатаем значение c
. Однако программирование выводит отрицательное число!
Почему эта программа не выводит 127
?
Я использовал бы пределы.h для этого. Но если вы настаиваете, используйте int в качестве счетчика и сравните его с counter casted как char 'c! = (Char) c' – KIIV