static int 输出

来源:互联网 发布:淘宝店铺的客服电话 编辑:程序博客网 时间:2024/06/05 11:14

下面程序会输出什么:
static int a=1;void fun1(void){    a=2;  }void fun2(void){    int a=3;  }void fun3(void){   static int a=4;  }int main(int argc,char** args){      printf(“%d”,a);      fun1( );      printf(“%d”,a);      fun2( );      printf(“%d”,a);     fun3( );      printf(“%d”,a); }


正确答案: B   你的答案: C (错误)

1 2 3 4
1 2 2 2
1 2 2 4
1 1 1 4
  • 添加笔记
  • 求解答(23)
  • 收藏
  • 纠错


选B
   printf(“%d”,a); //输出全局静态变量,所以输出1
     fun1( );     //a=2所以会修改全局静态变量,输出2
     printf(“%d”,a); 
     fun2( );     //int a=3是在func2里的局部变量,所以调用结束就释放了,不影响全局的a值,所以输出2
     printf(“%d”,a);
     fun3( );    //也是局部变量,虽然是静态的但是不会影响全局a的值,仍然输出2
    printf(“%d”,a); 

0 0
原创粉丝点击