>我正在创建一个带有开关大小写的简单菜单,因此根据编写的值,它可以做不同的事情,
void
menu_principal()
{
int opciones;
printf ("Ingrese su eleccion n");
scanf("%d", &opciones);
switch(opciones)
{
case 1:
int coord_x;
int coord_y;
printf("Ingrese las cordenadas de x n: ");
scanf( "%d", &coord_x);
printf("Ingrese las cordenadas de y n");
scanf( "%d", &coord_y );
break;
case 0:
break;
…
}
return 0;
}
但它就是不起作用,我在scanf
和int coord_x
上出现错误,coord_y
.
您不能在像int coord_x;
这样的声明之前放置标签。
你可以标记一个块——在int coord_x;
之前添加{
,在break;
之前添加}
(在它也可以工作之后(。
C11 §6.8.1 标记语句表明标签后面必须跟有语句。 §6.8 声明显示声明的构成;§6.8.2 复合语句表明声明不同于语句,6.7 声明涵盖了声明的组成。