برنامهی زیر رو تست کردم
#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
تست کردم
#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;
}
خروجی تغییر نکرد!!! تا اینجا این به دست اومده که این کاما همون کار معمول و میکنه. یعنی مقدار آخرین عبارت کاما یعنی سمت راستترین رو برمیگردونه.
اما چرا این دوتا خروجیها یکی شد خب؟
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)