当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年中级软考软件设计笔试考前练习(14)
发布时间:2011/6/25 17:08:50 来源:城市学习网 编辑:admin
  1.若给fun函数的形参s传送字符串:"ㄩㄩ 6354abcc"(其中ㄩ表示空格字符),则函数的返回值是__________。
  # include
  long fun(char s[])
  { long n;int sign;
  for(; isspace(*s); s++);
  sign=(*s==’-’ )?-1:l;
  if(*s==’+’ ||*s==’-’) s++;
  for(n=0; isdigit(*s); s++) n=10*n+(*s-’0’);
  return sign *n;
  }
  2.下面函数要求计算两个整数X、y之和,并通过形参Z传回该和值,请填空。
  void add(int x,int y,________z)
  {_________=x+ y; return;}
  答案:
  【解】函数fun的第一个for循环跳过字符串的前导空白符,接着分析第一个非空白符是否是负号,若是置变量sign为-1;否则,置变量sign为1。接着的if语句在第一个非空白字符是负号或正号时,跳过该字符。以后的for循环将后面的数字符当作十进制数的各位数字译出一个长整数n。遇字符a时,结束译数循环。最后,函数返回sign与n的乘积。所以若调用函数时提供的实参是"ㄩㄩ6354abc",函数返回值是整数6354。
  【解】函数希望通过形参z传送结果,形参z必须是指针类型的,由于返回整型结果,所以z的说明是int *z。函数返回前必须先把结果通过形参z间接引用(写成* z)传回。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved