View Full Version : سوال: No such label 'Label0' within the scope of the goto statement
Sal_64
چهارشنبه 26 تیر 1392, 12:49 عصر
سلام
این کد خطای زیر میده
switch (value)
{
case 1:
{
x=25;
break;
}
case 2:
{
Label0:
x=110;
break;
}
case 3:
{
x=15;
break;
}
default:
{
switch (value)
{
case 10:
{
x=11;
break;
}
case 11:
{
x=95;
break;
}
default:
{
goto Label0;
}
}
break;
}
}
No such label 'Label0' within the scope of the goto statement متن خطا مشخصه ، اما کد نباید زیاد تغییر کنه
بهترین شیوه برای اصلاحش چیه؟
تشکر
Sal_64
چهارشنبه 26 تیر 1392, 18:08 عصر
مشتاقانه منتظر پاسخ دوستان هستم
Sal_64
چهارشنبه 26 تیر 1392, 18:59 عصر
دوستان قضیه این default: میدونید چی؟ چیکار میکنه؟
تشکر
llMMDll
چهارشنبه 26 تیر 1392, 19:20 عصر
قسمت defualt هم هر دستوری که داخلش بنویسید در صورتی که case های شما در مقایسه برابری نیافتند اجرا می شود.
Sal_64
چهارشنبه 26 تیر 1392, 19:25 عصر
قسمت defualt هم هر دستوری که داخلش بنویسید در صورتی که case های شما در مقایسه برابری نیافتند اجرا می شود.
با این تفاسیر پس اولین defualt ، بیخودی نوشه شده، درسته؟
llMMDll
چهارشنبه 26 تیر 1392, 19:33 عصر
اینکه این کد برای چه هدفی نوشته شده نا مشخصه
فکر می کنم به این صورت هم درست بشه :
switch (value)
{
case 1:
{
x = 25;
break;
}
case 2:
{
x = 110;
break;
}
case 3:
{
x = 15;
break;
}
case 10:
{
x = 11;
break;
}
case 11:
{
x = 95;
break;
}
default:
{
goto case 2;
}
}
Sal_64
چهارشنبه 26 تیر 1392, 22:52 عصر
مجددا تشکر:تشویق:
با کیسهای 30 و 31 چه کنم؟
دلیل تعریف کیس 2 چیه ! اون که چیزی نداره؟
switch (num1)
{
case 0:
{
}
case 1:
{
goto case 4;
}
case 2:
case 4:
{
}
case 3:
{
switch (value1)
{
case 30:
{
goto case 4;
}
case 31:
{
goto case 4;
}
default:
{
goto case 4;
}
}
break;
}
}
llMMDll
پنج شنبه 27 تیر 1392, 00:21 صبح
در مورد case 2 اگر بخواهیم چند case یک کار را انجام بدهند اینطور نوشته می شود.
Sal_64
پنج شنبه 27 تیر 1392, 08:56 صبح
در مورد case 2 اگر بخواهیم چند case یک کار را انجام بدهند اینطور نوشته می شود.
تشکر
به نظرت کیس های 30 و 31 چه شکلی باید تغییر داد؟
Sal_64
پنج شنبه 27 تیر 1392, 10:02 صبح
اینهم یک مورد دیگه
switch (x)
{
case 11:
{
switch (value)
{
case 1:
{
goto label0;
break;
}
case 2:
{
break;
}
default:
{
break;
}
}
break;
}
default:
{
goto Label0;
}
}
Label6:
//
return;
Label0:
//
goto Label6;
}
؟؟
Sal_64
پنج شنبه 27 تیر 1392, 11:16 صبح
اگر داخل تابع حاوی switch/case ، دستور goto Label0 وجود داشته باشه اما خبری از Label0 نباشه ، تکلیف چیه؟
تشکر
Sal_64
شنبه 29 تیر 1392, 12:20 عصر
مجددا تشکر:تشویق:
با کیسهای 30 و 31 چه کنم؟
switch (num1)
{
case 0:
{
}
case 1:
{
goto case 4;
}
case 2:
case 4:
{
}
case 3:
{
switch (value1)
{
case 30:
{
goto case 4;
}
case 31:
{
goto case 4;
}
default:
{
goto case 4;
}
}
break;
}
}
پاسخ : به این طریق دیگه خطا نداد
switch (num1)
{
case 0:
{
}
case 1:
{
goto case 4;
}
case 2:
case 4: Label10:
{
}
case 3:
{
switch (value1)
{
case 30:
{
goto Label10;
}
case 31:
{
goto Label10;
}
default:
{
goto Label10;
}
}
break;
}
Sal_64
شنبه 29 تیر 1392, 12:20 عصر
اگر داخل تابع حاوی switch/case ، دستور goto Label0 وجود داشته باشه اما خبری از Label0 نباشه ، تکلیف چیه؟
تشکر
پاسخ : (احتمالا) نقش Break و یا return بازی میکنه
Sal_64
شنبه 29 تیر 1392, 12:21 عصر
اینهم یک مورد دیگه
switch (x)
{
case 11:
{
switch (value)
{
case 1:
{
goto label0;
break;
}
case 2:
{
break;
}
default:
{
break;
}
}
break;
}
default:
{
goto Label0;
}
}
Label6:
//
return;
Label0:
//
goto Label6;
}
؟؟
واسه این هنوز به جوابی نرسیدم ، احتمالا باید ساختار کد تغییر داد و goto ها حذف کرد
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.