اطلاعیه

Collapse
No announcement yet.

چرا این حلقه تا بی نهایت میره؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    چرا این حلقه تا بی نهایت میره؟

    کد:
    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    int main()
    {
    	int a =1 ;
    	for ( a= 1 ; a = 5 ; a++) {
    		cout << "$";
    	}
    	cin.get();
    	cin.get();	
    }
    دوستان مگه این حلقه از a=1 تا a=5 نباید بچرخه؟
    پس چرا تا بینهایت میره؟
    ممنون
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)

    #2
    پاسخ : چرا این حلقه تا بی نهایت میره؟

    شرط توقفت مشکل داره،باید بذاری5>a
    We Stand Up To The End

    دیدگاه


      #3
      پاسخ : چرا این حلقه تا بی نهایت میره؟

      بله،حق با شماست.

      منظورم اینه که چرا
      اگه a=5 شرط هست،پس چرا وقتی این حلقه اجرا میشه مقدار a رو تغییر میده به 5 ؟
      مثلا چرا ویژال استدیو نمیفهمه که منظور من اینه که ،هروقت مقدار a مساوی با 5 شده ،تو بیا حلقه رو بیخیال شو.
      به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
      (پيش به سوي هدف)

      دیدگاه


        #4
        پاسخ : چرا این حلقه تا بی نهایت میره؟

        نوشته اصلی توسط hosseinam1370
        بله،حق با شماست.

        منظورم اینه که چرا
        اگه a=5 شرط هست،پس چرا وقتی این حلقه اجرا میشه مقدار a رو تغییر میده به 5 ؟
        مثلا چرا ویژال استدیو نمیفهمه که منظور من اینه که ،هروقت مقدار a مساوی با 5 شده ،تو بیا حلقه رو بیخیال شو.
        چون = دستور انتساب هست و == دستور مقایسه، و این 2تا از لحاظ عملکرد هیچ شباهتی به هم ندارن
        ;()((void (*)(void))0x0000))

        دیدگاه


          #5
          پاسخ : چرا این حلقه تا بی نهایت میره؟

          نوشته اصلی توسط SAJAD-G
          چون = دستور انتساب هست و == دستور مقایسه، و این 2تا از لحاظ عملکرد هیچ شباهتی به هم ندارن
          دقیقا همینه.
          ولی جالب اینجاست که اگه به این صورت هم بنویسم حلقه رو :
          کد:
          for ( a=1 ; a==5 ; a++)
          اونوقت هم کار نمیکنه :rolleyes:

          میخام یکار کنم ویژال استدیو اون ==5 رو بفهمه،
          ولی انگار خنگ تشریف دارن :mrgreen:
          به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
          (پيش به سوي هدف)

          دیدگاه


            #6
            پاسخ : چرا این حلقه تا بی نهایت میره؟

            نوشته اصلی توسط hosseinam1370
            دقیقا همینه.
            ولی جالب اینجاست که اگه به این صورت هم بنویسم حلقه رو :
            کد:
            for ( a=1 ; a==5 ; a++)
            اونوقت هم کار نمیکنه :rolleyes:

            میخام یکار کنم ویژال استدیو اون ==5 رو بفهمه،
            ولی انگار خنگ تشریف دارن :mrgreen:
            حلقه ای که نوشتی رو اگه بخوای به زبون خودمون بخونی میشه این: اگر آ برابر 5 بود یکی زیاد بشه و وارد حلقه بشه :eek:
            به نظرت به جز این داره عمل میکنه؟
            باید بگی که اگه آ کوچکتر مساوی 5 بود یکی اضافه بشه و وارد حلقه بشه!
            ;()((void (*)(void))0x0000))

            دیدگاه


              #7
              پاسخ : چرا این حلقه تا بی نهایت میره؟

              آها آها گرفتم چی شد الان. :nerd:

              ویژالا استدیو همچین خنگ هم نیست :mrgreen:


              ممنون دوسته عزیز.
              به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
              (پيش به سوي هدف)

              دیدگاه


                #8
                پاسخ : چرا این حلقه تا بی نهایت میره؟

                نوشته اصلی توسط hosseinam1370

                دوستان مگه این حلقه از a=1 تا a=5 نباید بچرخه؟
                پس چرا تا بینهایت میره؟
                ممنون
                این عبارت که کلا سینتکس ارور میده اصلا برنامه اجرا نمیشه . و اگر دوتا مساوی هم بزاری a==5 تازه اصلا وارد حلقه نمیشه . پس این بینهایت مال حلقه بعدی شماست و به این حلقه مربوط نیست . چون اصلا وارد حلقه نمیشه چون a مساوی 5 اول برسی حلقه فالس است.
                تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                داشتن عقله زيادتر از دیگر آدم ها است

                دیدگاه


                  #9
                  پاسخ : چرا این حلقه تا بی نهایت میره؟

                  از این دستور استفاده کن

                  کد:
                  for (a = 1; ; a++)
                  {
                  if (a == 5) break;
                  .
                  .
                  .
                  }
                  در این روش تا زمانی که a برابر 5 نشده حلقه for تکرار میشه و زمانی که برابر 5 شد با دستور break از حلقه خارج میشه.

                  دیدگاه


                    #10
                    پاسخ : چرا این حلقه تا بی نهایت میره؟

                    سلام.
                    دوستان این دوباره برام سوال شد.
                    ببینید الان تو این کد :
                    کد:
                    #include "stdafx.h"
                    #include <iostream>
                    using namespace std;
                    int main()
                    {
                    	int a =1 ;
                    	for ( a= 1 ;
                    		a = 5 ;
                    		a++) {
                    		cout << "$";
                    	}
                    	cin.get();
                    	cin.get();	
                    }
                    شرط حلقه انگار وجود نداره ، چون تو قسمت شرط اومدیم 5 ریختیم تو a .
                    پس چرا این وارد حلقه میشه؟
                    تازه اگه کد رو با f10 ران کنید میبینید که وقتی وارد حلقه شد ، تو قسمت a++ و cout میمونه و بیرون نمیآد.

                    چرا؟

                    با تشکر.
                    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
                    (پيش به سوي هدف)

                    دیدگاه


                      #11
                      پاسخ : چرا این حلقه تا بی نهایت میره؟

                      انگار نه دقیقا شرط حلقه وجود نداره
                      سی دنبال شرط خروج میگرده و چون پیدا نمیکنه به کارش ادامه میده .. اینو حتما میدونید که داخل پرانتز های for میتونین چندین متغییر رو مقدار دهی کنید و سی بین این عمل و شرط ها تفاوت قائل میشه (برای راحتی) .. اگه داخل پرانتز های حلقه هیچی هم ننویسید و فقط دو تا ; بذارید سی اون رو هم به عنوان حلقه میشناسه ..
                      زندگی پر ز وجود است ولی ..
                      ما چه را می خواهیم چه را می جوییم که لب چشمه ی امید اینچنین نا امیدانه به سرابی تلخ مینگریم...

                      دیدگاه

                      لطفا صبر کنید...
                      X