2 iamhe Iamhe 于 2014.02.07 07:52 提问

c#中,静态函数可以实现正确的递归调用吗?
c

菜鸟问题。实际是二个问题:首先,我试了一下,静态函数可以进行自身调用,但其参数无变化,未达到递归目的;所以第二个问题就成为:静态函数无法突现递归作用。各位老师,我的理解对吗?

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
类的静态函数如何多态
静态函数如何多态
C# 静态类,静态变量,静态函数
本文导读:C#中静态变量、静态方法、静态类通过static关键字修饰,不能使用 new 关键字创建静态类的实例。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量;静态成员变量是和类相关联的,可以作为类中"共"有的变量,不依赖特定对象的存在,访问的时候通过类名加点操作符加变量名来访问. 一、静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能
C#之静态函数的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace while_test { public class While_test { //定义while_test类中的Find方法,用于在数组中查找特定的值 publ
C++静态函数中调用非静态成员函数或变量
用static声明的函数是静态函数,在调用该函数时,不会将对象的引用传递给它,所以在static函数中不可访问非static的成员 但实际情况中,我们经常会需要在静态函数中使用非静态函数或变量。如下代码中ThreadProc是静态函数,线程启动时会自动调用 在此函数中需使用非静态成员变量m_nMark ,此时不可以在ThreadProc中直接调用。 解决方法:先声明一个自己类型的静态变量m_st
类的静态方法(函数)中为什么不能调用非静态成员(属性)?
程序最终都将在内存中执行,变量只有在内存中占有一席之地时才能被访问。 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态成员就已经存在了,访问一
静态方法不能够进行重写
原则:1、静态具有全局的概念,不属于了单个的类实例化对象,而是属于类整体;类定义完成的时候,静态成员便可以使用了,继承类不能重写静态成员函数,假设重写了(当然仍是静态),那么就是说两个全局化的非重载的函数,会引起二义性,因为覆盖只发生在子类与父类之间,当全是静态成员的全局性质时,这种子父类的概念已经不存在了,所以就不会覆盖,造成编译的二义性两个同名而且不重载的函数(全局性质的),显而易
函数的递归调用与栈
一、栈 在说函数递归的时候,顺便说一下栈的概念。        栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向上移动一个位置。当系统从栈中弹出一个对象时,最近进栈的对象将被弹出。然后栈指针向下移动一个位置。程序员经常利用栈这种数据结构来处理那些最适合用后进先出逻辑来描述的编程问题。这里讨论的程序中的栈在每个程序中都是存在的,
C#算法之递归
递归就是方法里面用方法 例: 再在main方法里面调用即可: Class1 c = new Class1(); Console.WriteLine(c.fun(4)); 输出结果:24 看不懂的可以打开断点调试下
C# 静态类和静态函数
C# 翻译msdn文档 静态类和静态函数
继承中的静态成员函数
1.静态成员函数也可以被继承。 2.如果在子类重新定义一个静态成员函数,所有在基类的其他重载函数会被隐藏。 3.改变基类中一个函数的特征,所有使用该函数名的基类版本都会被隐藏。 class dad { public: static int a; static int geta() { return a; } static int geta(int b) { return