Вы не можете объявить переменную, подобную этой
if((int a = 0))
Компилятор не разрешает выполнение кода, и вы получаете сообщение об ошибке
, и если вы попробуете это
if(something_that_is_false){
int a = 12;
}
else{
do_something;
}
снова ошибка, потому что они находятся на одном уровне и не имеют доступа к своим локальным переменным.
Предупреждение: вы можете использовать этот код и работает без ошибок
int a;
if(a=0){
printf("True");
}
else{
printf("False");
}
и вы увидите «Ложь» на экране, потому что это похоже на запись
if(0) // and its false!
, а для последних
int a;
if(a=0){
printf("True");
}
else{
printf("False");
}
вы увидите «Правда» на экране, потому что это похоже на запись
if (5) // истинно любое число, отличное от нуля!