دستور goto در برنامه نویسی C

رتبه: 5 ار 1 رای SSSSS
goto
نویسنده: میلاد حیدری زمان مطالعه 2 دقیقه
Banner Image

در این آموزش با دستور goto در برنامه نویسی C آشنا خواهید شد و یاد خواهید گرفت که چه زمانی از این دستور استفاده کنید. دستور goto این امکان را فراهم می کند تا بتوانید کنترل برنامه را به یک label (برچسب) مشخص منتقل کنید.

وقتی برنامه به دستور goto می رسد، کنترل برنامه به شناسه نوشته شده بعد از goto پرش می کند.

ساختار دستور goto:

goto label;

… .. …

… .. …

label:

statement;

label یک شناسه است و با اجرای دستور goto، کنترل برنامه به :label می رود و اجرای کد از آنجا شروع می شود.

دستور goto چگونه کار می کند؟

How goto statement works? مثال: دستور goto

// برنامه محاسبه مجموع و میانگین اعداد مثبت

// با ورود عدد منفی توسط کاربر، مجموع و میانگین نمایش داده می شود

#include <stdio.h>

int main() {

const int maxInput = 100;

int i;

double number, average, sum = 0.0;

for (i = 1; i <= maxInput; ++i) {

printf(“%d. Enter a number: “, i);

scanf(“%lf”, &number);

// پرش می کند jump اگر کاربر عدد منفی وارد کند برنامه به برچسب با شناسه

if (number < 0.0) {

goto jump;

}

sum += number;

}

jump:

average = sum / (i – 1);

printf(“Sum = %.2fn”, sum);

printf(“Average = %.2f”, average);

return 0;

}

خروجی

۱٫ Enter a number: 3

۲٫ Enter a number: 4.3

۳٫ Enter a number: 9.3

۴٫ Enter a number: -2.9

Sum = 16.60

Average = 5.53

دلایل عدم استفاده از دستور goto

استفاده از دستور goto ممکن است منجر به باگ در کد شود و به سختی قابل پیگیری است. مثال،

one:

for (i = 0; i < number; ++i)

{

test += i;

goto two;

}

two:

if (test > 5) {

goto three;

}

… .. …

علاوه بر این دستور goto امکان انجام کارهای نامناسب مانند پرش از محدوده را نیز فراهم می کند.

همانطور که گفته شد، در بعضی اوقات goto می تواند مفید باشد. به عنوان مثال: شکست و خروج از حلقه های تو در تو.

آیا باید از goto استفاده کنید؟

اگر فکر می کنید استفاده از دستور goto منجر به ساده شدن برنامه می شود، می توانید از آن استفاده کنید. به ندرت استفاده از دستور goto می تواند مفید باشد و هر برنامه ای در زبان C را می توانید بدون استفاده از آن هم بنویسید.

به قول بجارن استروستروپ (Bjarne Stroustrup) خالق C++: “این واقعیت که”goto”می تواند هر کاری انجام دهد دقیقاً دلیل استفاده نکردن از آن است.”

profile name
میلاد حیدری

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

1 نظر درباره «دستور goto در برنامه نویسی C»

  • محمد
    محمد آیا این دیدگاه مفید بود ؟

    سلام ممنون از پست مفیدتون
    اگه روش پرش به حلقه رو بدون استفاده از goto هم ذکر میکردید خیلی بهتر بود
    ممنون

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید