上記のコード ブロックでは、行がどのように機能しているかを理解しようとしてreturn reverse((i++, i))
います。
#include <stdio.h>
void reverse(int i);
int main()
{
reverse(1);
}
void reverse(int i)
{
if (i > 5)
return ;
printf("%d ", i);
// return reverse(i++); -- stack overflow
return reverse((i++, i));
}
同様に機能する以下のコードも見つけました。
#include <stdio.h>
int main()
{
int y = 1, x = 0;
int l = (y++, x++) ? y : x;
printf("%d\n", l);
}
質問が非常に基本的なもので申し訳ありません。とてもわかりにくかったと思います。誰かが説明できるなら、それは役に立ちます。