دوشنبه ۲ اردیبهشت ۱۳۹۲ ویرایش شده توسط prodo
   
   برنامهی  زیر  رو  تست  کردم
     #include  <iostream>
     using  namespace  std;
     int  main()
     {
       int  a  =  0;
       for(int  i=0,  j=0;  i<5  &&  j<5;  a  =  i++,  j++)
         cout<<"i  :  "<<i<<",  j  =  "<<j<<",  a  =  "<<a<<endl;
       return  0;
     }
 خروجی  این  شد:
     i  :  0,  j  =  0,  a  =  0
     i  :  1,  j  =  1,  a  =  0
     i  :  2,  j  =  2,  a  =  1
     i  :  3,  j  =  3,  a  =  2
     i  :  4,  j  =  4,  a  =  3
 برنامهی  زیر  رو  با  تغییر  `j++`  به '++j` `++j`  تست  کردم
     #include  <iostream>
     using  namespace  std;
     int  main()
     {
       int  a  =  0;
       for(int  i=0,  j=0;  i<5  &&  j<5;  a  =  i++,  j++)
         cout<<"i  :  "<<i<<",  j  =  "<<j<<",  a  =  "<<a<<endl;
       return  0;
     }
 خروجی  تغییر  نکرد!!!  تا  اینجا  این  به  دست  اومده  که  این  کاما  همون  کار  معمول  و  میکنه.  یعنی  مقدار  آخرین  عبارت  کاما  یعنی  سمت  راستترین  رو  برمیگردونه.
 اما  چرا  این  دوتا  خروجیها  یکی  شد  خب؟