PDA

View Full Version : سوال: فرق continue با break در چیست؟



motherboard
چهارشنبه 16 بهمن 1392, 11:46 صبح
با سلام و خسته نباشید.می خواستم بدونم فرق دو عبارت continue با break در یک حلقه تکرار چیست؟ اگر امکان داره از هر کدام یک مثالی بزنید.با تشکر.:قهقهه:

mmvalinezhad
چهارشنبه 16 بهمن 1392, 12:40 عصر
با سلام و خسته نباشید.می خواستم بدونم فرق دو عبارت continue با break در یک حلقه تکرار چیست؟ اگر امکان داره از هر کدام یک مثالی بزنید.با تشکر.:قهقهه:
با سلام
کلمه continue : وقتی کامپایلر در طول حلقه ی تکرار به این کلمه رسید بر می گردد و شرط حلقه را چک می کند و اگر شرط هنوز برقرار بود دوباره وارد حلقه می شود.
کلمه break : وقتی کامپایلر در طول حلقه ی تکرار به این کلمه رسید کلا از حلقه خارج می شود و ادامه برنامه را کامپایل می کند.
مثال در ادامه

mmvalinezhad
چهارشنبه 16 بهمن 1392, 12:47 عصر
مثال برای continue:
#include <stdio.h>
#include <conio.h>

int main()
{
int x=1;
while(x!=2)
{
x++;
continue;
printf("Massage!");
}
getch();
return 0;
}
با توجه به شرط حلقه حداقل یک بار پیام می تواند جاپ شود،اما کلمه continue که قبل از دستور چاپ آمده باعث می شود که کامپایلر به دستور چاپ نرسد و برگردد به شرط و با بررسی شرط و فهمیدن برقرار نبودن شرط از حلقه خارج شود.

mmvalinezhad
چهارشنبه 16 بهمن 1392, 12:50 عصر
مثال برای break:
#include <stdio.h>
#include <conio.h>

int main()
{
int x=1;
while(x!=2)
{
x++;
printf("\nMassage1");
printf("\nMassage2");
break;
printf("\nMassage3");
printf("\nMassage4");

}
getch();
return 0;
}

با توجه به شرط حلقه همه ی پیام ها باید چاپ شوند.اما کامپایلر بعد از چاپ پیام های 1 و 2 با رسیدن به دستور break از حلقه خارج می شود و دیگر پیامهای 3 و 4 را چاپ نمی کند.
اگر سوالی بود بفرمایید.