这行c代码...

searingice 2007-04-02 04:57:45
int p( int i, int N ){
return ( N && printf( "%d\n", i ) && p( i+1, N-1 ) && ( N != 1 && printf( "%d\n", i ) ) ) + 1;
}

谁解释下..
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
believe_me 2007-04-02
  • 打赏
  • 举报
回复
if(N == 0)
return 1;
else
{
printf("%d\n", i);

if(p(i+1, N-1) && N != 1); //p的返回值肯定为1或者2,所以p(i+1,N-1)应该不需要作为判断条件了
{
printf("%d\n", i);
return 2;
}
else
return 1;
}
pig_83 2007-04-02
  • 打赏
  • 举报
回复
if(N == 0)
return 1;
else
printf ("%d\n", i);
pp(i+1,N-1);
if(N == 1)
return 1;
printf("%d\n",i);
return 2;
mLee79 2007-04-02
  • 打赏
  • 举报
回复
int p( int i, int N )
{
return printf("%d\n",i)&&--N&&p(i+1,N)&&printf("%d\n",i)||1;
}
www_adintr_com 2007-04-02
  • 打赏
  • 举报
回复
翻译出来:

if(N == 0)
return 1;
else
{
printf("%d\n", i);

p(i+1, N-1);

if(N != 1)
printf("%d\n", i);

return 1; // 实际可能并不是 1, 但返回值并不重要
}

minioreo 2007-04-02
  • 打赏
  • 举报
回复
..............

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧