📌  相关文章
📜  国际空间研究组织 | ISRO CS 2015 |问题 69

📅  最后修改于: 2022-05-13 01:58:04.127000             🧑  作者: Mango

国际空间研究组织 | 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

这个问题的测验