#include <stdio.h>
void func() {
static int x = 0; // x is initialized only once across three calls of
// func()
printf("%d\n", x); // outputs the value of x
x = x + 1;
}
int main(int argc, char * const argv[]) {
func(); // prints 0
func(); // prints 1
func(); // prints 2
// Here I want to reinitialize x value to 0, how to do that ? <-- this line
return 0;
}
В приведенном выше коде после трехкратного вызова func() я хочу повторно инициализировать x
до нуля. Есть ли способ переинициализировать его до 0?
func()
, чтобы он принимал аргумент, который сообщает ему, следует ли выполнять повторную инициализацию. Например.void func(const bool reset=false) { ... }
. - person jogojapan   schedule 29.10.2012x
сfunc
, что уместно, учитывая, что это локальная статическая переменная. - person jogojapan   schedule 29.10.2012