i=10,j=1;
就静态变量而言,如果定义是没有赋初值,系统自动赋为0,并且赋初值只在函数第一次调用时起作用,以后调用都按前一次调用保留的值使用。这是因为静态局部变量的生命周期始于函数的第一次调用,贯穿于整个程序。当函数第一次调用时,静态局部变量的内存单元得以分配,赋以初值,而函数被再次调用时,此静态局部变量的单元已经存在,计算机不会再次为它分配单元,也不再为其赋初值。但静态局部变量受变量作用范围所限制,不能作用于其他函数,包括main函数。
所以如果将static int i=0;后再加一句i=0;,那么i的值为1。