מה ההבדל בין הפסקה ויציאה בשפת C?


תשובה 1:

הצהרת יציאה תעביר את השליטה מהתוכנית. ואילו הצהרת הפסקה משמשת להעברת השליטה מחוץ להיקפה הנוכחי.

דוגמא:-

עבור (i = 0; i <5; i ++)

אם (i == 2) אז נשבר;

סוף לולאה

הדפס i;

סוף

התוכנית לעיל תבצע ותדפיס את הערך של i שהוא 4 במקרה זה.

אמנם במקום הפסקה אם היינו כותבים יציאה מאשר הפלט היה מסך ריק ..


תשובה 2:

כדי לענות על השאלה שלך, בוא ניקח דוגמא:

# כלול 
int i = 0;
עבור (i = 0; i <5; i ++)
{
    אם (i == 2)
        לשבור;
    printf ("% d", i);
}
printf ("% d", i)

הפלט של התוכנית לעיל יהיה: 0, 1, 2

מילת המפתח לשבירה ב- C היא הצהרת בקרה שבאופן בסיסי שולטת בזרימת הביצוע של התוכנית ומשתמשים בה בתוך לולאה או בהצהרת תיקים. כאשר משתמשים בו בתוך לולאה, הוא מסיים את הלולאה ויוצא ממנו וממשיך בביצוע.

במקרה שלנו, לולאה for מבצעת את printf () בתוכה פעמיים, כלומר כאשר i = 0 ו- i = 1, והצהרת הפסקה מבוצעת כאשר i = 2, כך שבנקודה זו, היא יוצאת מהלולאה וממשיכה ביצוע התוכנית, כלומר שורה 9: printf () מבוצע. מכאן שהתפוקה היא 0, 1, 2

מצד שני, בואו ניקח דוגמה דומה אחרת:

# כלול 
# כלול 
int i = 0;
עבור (i = 0; i <5; i ++)
{
    אם (i == 2)
        יציאה (0);
    printf ("% d", i);
}
printf ("% d", i);

ראשית, break היא מילת מפתח ב- C בעוד היציאה () היא פונקציה המוגדרת ב- stdlib.h (שימו לב שכללנו קובץ כותרת stdlib.h בשורה 2).

שנית, יציאה () לוקחת ויכוח, סטטוס היציאה (מספר שלם).

שלא כמו הפסקה, המשמשת ליציאה מלולאה, יציאה () משמשת ליציאה מהתוכנית. פירוש הדבר הוא שבעצם התוכנית שלך מפסיקה את ההפעלה כאשר היא מגיעה לפונקציית היציאה ().

בדוגמה לעיל, הלולאה ממשיכה כרגיל עבור i = 0, i = 1 וכשהוא מגיע ל- i = 2, הוא מבצע שורה 7: יציאה (0); ההצהרה והתוכנית שלך הסתיימה. הפלט יהיה: 0, 1


תשובה 3:

הפסקה היא הצהרה הגורמת להפסקת ההצהרה הנוכחית של הלולאה / מתחם; השליטה עוברת להצהרה הבאה אחרי החסימה הנוכחית.

שוב, היציאה היא פונקציה שמאלצת סיום ללא תנאי ומיידי של התוכנית.

שקול את הדברים הבאים:

1.

int main () {

אם (<תנאי>) {

<קביעות>

לשבור;

}

הצהרה 2;

...

}

2.

int main () {

בזמן (<מצב>) {

<קביעות>

לשבור;

}

להחזיר 0;

}

3.

אם (<תנאי>)

{

<קביעות>

יציאה (0);

}

...

בדוגמה 1, כאשר נתקלת בהצהרת ההפסקה, חסימת ה- if מסתיימת והביצוע חוזר בהצהרה הבאה (כאן, הצהרה 2).

בדוגמה 2, הצהרת ההפסקה משתלטת על הצהרת ההחזרה, והתוכנית מסתיימת, גם אם מצב הזמן נשאר נכון. הערה: סיום זה אינו נגרם כתוצאה מפסק; זה רק ההיגיון של התוכנית.

בדוגמה 3 משתמשים בפונקצית יציאה () שתסיים את התוכנית באופן מיידי, ללא קשר למה שנכתב אחר כך.

פריצה שמחה!