Else не изменяет значение d (c++) - Вопросы по С+

Вопрос Else не изменяет значение d (c++)

Регистрация
27 Июн 2013
Сообщения
92
Репутация
1
Спасибо
0
Монет
0
308023460_58882ad624641b0a08461a782741113f_800.png

Оно остается равным 0!

почему?
 
Регистрация
13 Мар 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
#include

int main() {
int num = 123;
int c = 1;
int result;

if (c == 1) {
result = num % 100;
} else {
int d = num % 10;
result = d;
}

std::cout
 
Регистрация
16 Ноя 2013
Сообщения
100
Репутация
0
Спасибо
0
Монет
0
После else не нужен int, переменная уже объявлена

И почему переменная c сравнивается до ее объявления?
 
Регистрация
22 Июн 2013
Сообщения
107
Репутация
0
Спасибо
0
Монет
0
Ты присваиваешь переменной значение, а не создаёшь новую переменную
В данном случае ты создаёшь новую переменную в области видимости внутри if и else
Замени int c = на c = и int d = на d = (только первое объявление переменной должно быть с типом)
 
Сверху Снизу