void print (int w)
{ int i;
if(w!=0)
{ print (w-1);
for(i=1;i<=w;i++)
printf(“%3d”,w);
printf (“\n”);
}
}
递归的体现,相当于间接的循环了w次if语句。经过w次之后,w=0,退出if同时也不再进行递归。
输出w次w,再输出一个换行符
for后边没有{},所以只循环执行printf(“%3d”,w);
这是你想要的答案,你写的代码我复制过去后发现,有中文的双引号以及在函数名和括号中间有空格,这都是不对的。
这是一个递归函数。
#include <stdio.h>
#include <stdlib.h>
void print(int w)
{
if(w!=0)
{
print (w-1);
for(int i=1;i<=w;i++)
printf("%3d",w);
printf("\n");
}
}
int main()
{
int i=22;
print(i);
return 0;
}