以下程序的运行结果是______。 struct Node} int x; char ch; }; fun(struct Node*sn) } static k=1; sn->x=20;

admin2010-01-10  30

问题 以下程序的运行结果是______。
   struct Node}
      int x;
      char ch;
     };
    fun(struct Node*sn)
   }  static k=1;
   sn->x=20;
   Sn->ch=’a’+k++;
   }
   main()
   {  int i;
      static struct Node st=}10,’a’};
      for(i=0;i<2;i++)
         fun(&st);
   printf("%d,%c\n",st.x,st.ch);
        }

选项

答案20,c。

解析 函数fun的功能是给结构体指针变量所指的结构体变量的各成员赋值,主函数两次调用函数fun,第一次调用,实参st两个成员的值是20和字符b,调用结束时,静态局部变量k没有释放,值为2:第二次调用,实参st两个成员的值是20和字符c,调用结束时,静态局部变量k没有释放,值为3;因此,输出结果是20和c。
转载请注明原文地址:https://kaotiyun.com/show/sGWp777K
0

最新回复(0)