Объекты могут быть объявлены только в верхней части блока операторов в ISO C90.Поэтому вы можете сделать это:
#include<stdio.h>
int main()
{
int val1,val2;
printf("Enter the first value");
scanf("%d",val1);
scanf("%d",&val2);
// New statement block
{
int c;
c=val1 + val2;
printf(" the value is : %d", c);
}
return 0; // 0 means no error
}
Хотя, возможно, это будет необычно.Вопреки распространенному мнению, запуск функции - не единственное место, где вы можете объявить автоматическую переменную.Вместо создания фиктивного блока чаще используется, например, существующие блоки операторов, представленные как часть конструкции if
или for
.
Полезно заключать case
блоки в {...}, даже если это обычно не требуется, чтобы можно было вводить временные переменные, зависящие от регистра:
switch( x )
{
case SOMETHING :
{
int case_local = 0 ;
}
break ;
...
}