+ 2
How can a function save previous argument that was passed to it?
My function needs to know the value of a previous argument that was passed to it. For example if I call this function twice, it needs to know the value passed to it in the first call to take action. How can I achieve this?
2 ответов
+ 5
And that would be so nice if only C had classes. 🙄
Here's how you can do it in C:
#include <stdio.h>
void f(int n) {
    static int m = 0;
    printf("Old: %d", m);
    m = n;
    printf("\nNew: %d\n\n", m);
}
int main() {
    f(3);
    f(5);
    f(7);
    return 0;
}
+ 1
You will have to make a variable independent from the function.  Declare it outside of the function and you can instantiate it inside the function.  Here's some pseudocode:
class MyClass {
    var myVar
    
    static func x(b?) {
        if (myVar == null && b != null) {
            myVar = b * 2
        } else {
            print(myVar)
        }
    }
}
func main() {
    MyClass.x(5)
    MyClass.x()
}



