国内最大的教育考试网站之一
2008年11月软考软件设计师笔试考前全真模拟试题(24)
2008-11-5 11:20:45 来源:优易学(Qnr.Cn) 作者:Qnr.Cn

  距2008年11月全国计算机软件资格考试不远了。大家一起来交流一下吧!优易学网站整理了2008年11月全国计算机软件资格考试考前练习!优易学网站和各位一起学习!希望各位能够顺利通过2008年11月全国计算机软件资格考试!
  以下程序的输出结果是( )
  # include
  subl(char a,char b) {char c;c=a;a=b;b=c;}
  sub2(char *a,char b){ char c;c=*a;*a=b;b=c;}
  sub3(char *a,char *b) { char c;c=*a;*a=*b;*b=c;}
  main()
  { char a, b;
  a=’A’; b=’B’; sub3(&a,&b); putchar(a); putchar(b);
  a=’A’;b=’B’ ;Sub2(&a,b);putchar(a); rutchar(b);
  a=’A’; b=’B’; sub1(a,b); putchar(a);putchar(b);
  }
  ①BABBAB
  ②ABBBBA
  ③ BABABA
  ④ BAABBA
  【解】在上述程序中,函数subl完成两形参值的交换,这个交换不影响实参变量,这是一个没有意义的函数。函数sub2将第二个形参的值置入由第一个指针形参所指的变量中,指针形参所指的变量由调用时的实参提供。函数sub3完成将两个形参所指的变量的值交换。程序调用sub3,使变量a和b的值交换输出BA;调用subZ,使变量b的值传送到a,输出BB;调用subl,变量a和b的值不改变,输出AB。所以程序输出BABBAB。正确解答是①。

【字体: 】【收藏本页】【打印本文】【告诉好友 】【投稿邮箱