在上面的代码块中,我试图了解该行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);
}
如果问题是非常基本的问题,我很抱歉。我觉得很难理解。如果有人可以解释,那将很有帮助。