美文网首页
4.2返回非整型值的函数

4.2返回非整型值的函数

作者: Hy_Slin | 来源:发表于2016-11-09 12:49 被阅读0次

例子里的函数在头文件里有声明过,如果想试一下的话还是改成别的函数名好点(我猜的),这个函数我还没试过。
首先是用isspace函数跳过空白符,(isspace函数的功能就是判断是否是空白符,如果是则返回的是非零,判断为真。如果不是则返回0,判断为假。所以第一个for循环用!isspace函数进行判断。)然后将变量i递增,直到不是空白符为止。
for(i = 0; !isspace(s[i]); i++)
然后用sign记录下来这个数组中的元素是正数还是负数,
sign = ('-' == s[i]) ? -1 : 1;
跳过符号
if(s[i] == '-' || s[i] == '+')
i++;
然后是读入数值,这个读入数值的方式刚接触的时候感觉很新颖,但是确实是处理这种字符的比较好的方法。
用变量记录当前的数值,如果之后还有有效字符读入就*10向前进一位,然后+当前读入的字符。就是当前的数值。
for(val = 0.0; isdigit(s[i]); i++)
val = 10 * val + (s[i] - '0');
然后是处理小数点的部分,遇到小数点后指向下一元素。
if (s[i] == '.')
i++;
之后是处理小数点后的数值部分。用power记录小数点后面有几位,然后还是用val用同样的方式记录数值。
for (power = 1.0; isdigit(s[i]); i++)
val = 10.0 * val + (s[i] - '0'); //记录数值。
power *= 10.0; //循环乘以10。
然后用总的数值除以记录小数点后面共有几位的变量,然后将结果乘以记录正负符号的变量sign。并将结果返回。
return sign * val / power;

相关文章

  • 4.2返回非整型值的函数

    例子里的函数在头文件里有声明过,如果想试一下的话还是改成别的函数名好点(我猜的),这个函数我还没试过。首先是用is...

  • iOS开发 - 「Swift 学习」Swift 函数(函数返回值

    Swift 函数的返回值类型 函数返回值类型可以是字符串,整型,浮点型等的常用数据类型也可以是元组。 函数返回值为...

  • 14.random模块

    random模块 1). random常用内置函数 引入random模块 返回随机整型,不包含末位值 随机返回In...

  • 01 深入理解函数作用域&闭包

    演示代码 函数定义式优先于对象直接量 函数返回变量值拷贝 函数返回值的本质 当函数返回值为非函数时,返回的为简单对...

  • python内建函数总结

    1. abs(x) abs()函数返回数字(可为普通型、长整型或浮点型)的绝对值。如果给出复数,返回值就是该复数的...

  • python内建函数总结

    1. abs(x) abs()函数返回数字(可为普通型、长整型或浮点型)的绝对值。如果给出复数,返回值就是该复数的...

  • python内建函数

    1. abs(x) abs()函数返回数字(可为普通型、长整型或浮点型)的绝对值。如果给出复数,返回值就是该复数的...

  • 【Python】笔记10(返回函数)

    返回函数,是把函数作为结果值返回(return )的高阶函数。 如例子中的非立即求和函数lazy_sum: laz...

  • Kotlin入门(二)空安全,空类型和非空类型

    可空类型和非空类型 不加问号的类型都是非空类型,非空类型不能赋 null 值. 返回值为非空类型的函数不也能返回 ...

  • Jquery的三个函数

    IsNaN(x)函数 isNaN(x)函数用于检查其参数是否是非数字值。 返回值: 如果x是特殊的非数字值 NaN...

网友评论

      本文标题:4.2返回非整型值的函数

      本文链接:https://www.haomeiwen.com/subject/ktkyuttx.html