#include <iostream.h>void printN(int n){ if(n) { printN(n-1); cout << n << ends ; }}void print(int w){ if( w ) { print( w-1 ); printN(w); cout << endl; }}void main(){ print( 5 ); }输出结果:1 1 21 2 31 2 3 41 2 3 4 5这程序是怎么运行的?
#include <iostream.h> void printN(int n) { if(n) //如果n是一个不等于0的数就为真,就运行if语句。{ printN(n-1); //这是一个递归函数。cout << n << ends ; } } void print(int w) { if( w ) //同上。{ print( w-1 ); //同上printN(w); cout << endl; } } void main() { print( 5 ); }//调用函数。
在C语言中,零就是假,非零就是真。一般的判断语句其实也是有返回值的,成立就是1,不成立就是0,你可以用printf("%d",3==6);这个语句试一下,执行这个语句时会输出0的。@awuowen:“cout << endl”的作用是输出一个换行符,和cout<<"\n"等价。