Elo,我从一次旧考试中得到了这个代码片段。这很棘手,我需要一些帮助来弄清楚它是如何打印"007“的。
#include <stdio.h>
/* Desmond Llewelyns */
int M(int Q);
int main(void)
{
M(9);
return 0;
}
int M(int Q)
{
if(Q>1)
if(M(Q-1)==0)
printf("%03d\n", Q);
return Q-6;
} 发布于 2012-11-04 03:42:00
这很简单。
只有当M(Q-1)返回0并且Q的值为7时,才会打印数字。
关于零,这是因为你要求printf在3个位置打印数字,一开始就打印零。printf("%03d\n", Q);阅读更多here。
发布于 2012-11-04 03:43:21
当q等于7时,M(Q-1)返回0
printf("%03d\n",Q)将打印7到3个位置,结果为007
https://stackoverflow.com/questions/13212780
复制相似问题