执行下列程序后,其输出结果是________________。 #include<stdio.h> void subfun(); main() { subfun(), subfun(); } void subfun() { stat

admin2020-05-13  27

问题 执行下列程序后,其输出结果是________________。
#include<stdio.h>
void subfun();
main()
{
    subfun(),
    subfun();
}
void subfun()
{
    static int x=1;
    x++;
    printf(“%d  ”,x);
}

选项 A、1  2
B、1  3
C、2  2
D、2  3

答案D

解析 本题考查C语言静态变量方面的基础知识。上述程序中,函数subfun()中的变量x为静态内部变量,当在main()函数中第一次调用subfun()时,执行“static int x=1;”语句,退出该函数时。x=2;当第二次调用subfun()时,不再执行“static int x=1;”,而是在“x=2”的基础上再执行“x++;”,使x=3。所以两次调用subfun()函数的输出结果不相同。
转载请注明原文地址:https://kaotiyun.com/show/kCWZ777K
0

相关试题推荐
最新回复(0)