как добавить к переменной значение, чтобы прошлое значение не обнулялось?

N1KyToS

✩✩✩✩✩✩✩
8 Апр 2024
4
0
на ардуино хочу сделать счетчик людей, вошедший в комнату. Создаю переменную int и даю ей значение 0, и потом при каждом значение с датчика ультра звука в эту переменную должно прибавляться единица, делаю я это так:

int number =0;

if(ultrasonic.distanceRead() > 5 && ultrasonic.distanceRead() < 100 ){
int number = number + 1;

но при каждом новом сигнале значение не прибавляется, а остается единицей.
 

bort707

★★★★★★✩
21 Сен 2020
2,955
887
@N1KyToS, уберите int перед последней строчкой. Каждый раз, когда вы указываете тип перед именем переменной - вы создаете новую переменную
 

Артём Баровик

✩✩✩✩✩✩✩
11 Май 2019
2
0
int number = number + 1; Эта строка объявляет новую переменную типа int и присваивает ей значение 0 каждый раз, уберите int в начале и будет вам счастье
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
181
164
если int number =0; внутри функции, то есть локальная переменная, то в этом случае
static int number =0;