首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这行c代码.解决思路

2012-02-04 
这行c代码...intp(inti,intN){return(N&&printf(%d\n ,i)&&p(i+1,N-1)&&(N!1&&printf(%d\n ,i)))+1}

这行c代码...
int   p(   int   i,   int   N   ){
        return   (   N   &&   printf(   "%d\n ",   i   )   &&   p(   i+1,   N-1   )   &&   (   N   !=   1   &&   printf(   "%d\n ",   i   )   )   )   +   1;
}

谁解释下..

[解决办法]
翻译出来:

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, 但返回值并不重要
}


[解决办法]
int p( int i, int N )
{
return printf( "%d\n ",i)&&--N&&p(i+1,N)&&printf( "%d\n ",i)||1;
}
[解决办法]
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;

[解决办法]
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;
}

热点排行