সি প্রোগ্রামিং গোটু স্টেটমেন্ট - C goto Statement
সি প্রোগ্রামিং গোটু স্টেটমেন্ট
সি প্রোগ্রামে goto স্টেটমেন্ট জাম্প(jump) স্টেটমেন্ট হিসাবে পরিচিত।
সি প্রোগ্রামের সাধারণ ধারাকে পরিবর্তন করার জন্য goto স্টেটমেন্ট ব্যবহার করা হয়।
সি goto সিনট্যাক্স
goto label;
... .. ...
... .. ...
... .. ...
label:
statement;
এখানে label হলো আইডেন্টিফায়ার। যখন প্রোগ্রাম goto
স্টেটমেন্টের দেখা পায় তখন প্রোগ্রামের কন্ট্রোল label:
এর কাছে জাম্প(jump) করে এবং label ব্লকের এক্সিকিউশন(execution) শুরু হয়।
উদাহরনঃ goto Statement
// সর্বোচ্চ ৫ টি নাম্বারের যোগফল এবং গড় নির্ণয়।
// ইউজার নেগেটিভ নাম্বার ইনপুট দিলে পূর্ববর্তী নাম্বারসমূহের যোগফল এবং গড় প্রদর্শিত হবে।
# include <stdio.h>
int main()
{
const int maxInput = 5;
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; // sum = sum+number;
}
jump:
average=sum/(i-1);
printf("Sum = %.2f\n", sum);
printf("Average = %.2f", average);
return 0;
}
আউটপুট
1. Enter a number: 3 2. Enter a number: 4.3 3. Enter a number: 9.3 4. Enter a number: -2.9 Sum = 16.60 Average = 5.53
goto স্টেটমেন্ট ব্যবহার না করার কারণ
goto এর ব্যবহার প্রোগ্রামকে কঠিন করে ফেলে এবং অনেক সময় মনে হতে পারে প্রোগ্রামে bug রয়েছে। উদাহরনস্বরুপঃ
one:
for (i = 0; i < number; ++i)
{
test += i;
goto two;
}
two:
if (test > 5) {
goto three;
}
... .. ...
যাইহোক goto statement মাঝে মাঝে উপকারীও হতে পারে। যেমন- নেস্টেট লুপ থেকে ব্রেক নিতে চাইলে।
goto স্টেটমেন্ট ব্যবহার উচিৎ/ উচিৎ না?
আপনি যদি মনে করেন goto স্টেটমেন্টের ব্যবহার আপনার প্রোগ্রামকে সহজ করে তুলবে তাহলে আপনি ইহা ব্যবহার করতে পারেন। কারণ এখানকার উদ্দেশ্য হলো কোড সহজ করা যতে আপনার অনুসারীরা খুব সহজেই আপনার কোড বুঝতে পারে।