国际空间研究组织 | ISRO CS 2015 |问题 69
以下程序
main()
{
inc(); inc(); inc();
}
inc()
{
static int x;
printf("%d", ++x);
}
(一)印刷品012
(B)打印 123
(C)打印 3 个连续但不可预测的数字
(D)打印 111答案:(乙)
解释:由于 x 的值没有被声明,它会自动得到 0 作为它的初始值。第一次在 main() 中调用 inc() 时,x 的值将增加 1。
静态变量在其先前的作用域中保留其先前的值,并且不会在新的作用域中再次初始化。所以当 inc() 被第二次和第三次调用时,x 的值只是增加了 1。这就是为什么正确答案是 123
这个问题的测验