近期学习的有关递归和break 的细节
#include <iostream>
using namespace std;
int a;
int main()
{
for(int i=0;i<3;i++)
{
printf("44254\n");
for(int j=0;j<3;j++)
{
cin>>a;
if(a==5) break;
else printf("67\n");
}
}
}
这个代码是在看线性筛质数时,关于break的小用法,
break 之后会从第一个for循环开始,而不是第二个!!!!!:就是你输入5之后会打印44254,
可以连续打印3个5看看效果;
44254
5
44254
5
44254
5
1.递归1
#include <iostream>
using namespace std;
void print_digui(int n)
{
if(n==1) return;
printf("这是第%d\n",n);
print_digui(n-1);
printf(" %d\n",n);
}
int main()
{
int n;
cin>>n;
print_digui(n);
}
结果
5
这是第5
这是第4
这是第3
这是第2
这是 2
这是 3
这是 4
这是 5
感谢那位网友仁兄(不知道名字哈)给的图,编译原理的简单的函数调用栈