getop()是个什么涵数

1个回答

  • 你好!

    你说的这个getop()函数,不是标准库中的函数,应该是《the c programming language》这本书中的一个例子当中的函数,它的作用是读取一个数值,下面是它的原代码:

    int getop(char s[])

    {

    int i, c;

    while ((s[0] = c = getch()) == ' '|| c == 't')

    ; //如果是空格或者制表符,跳过;

    s[1] = ' '; //如果不是空格或者制表符,把字符赋给c并且保存在

    // s[0]中,把s[1]置为结束符,因为数组s是以’ ’结尾的

    if (!isdigit(c) &&c != ‘.’)

    return c; //如果c不是数字也不是点,返回c(c为操作符)

    i = 0;

    if (isdigit(c)) //c是整数的情况

    while (isdigit(s[++i] = c = getch()))

    ; //把下一个字符赋给s[1],直到字符不为数字为止

    if (c == ‘.’ ) //如果是小数点的情况

    while (isdigit(s[++i] = c = getch()))

    ; //收集小数部分

    s[i] = ‘ ’; //赋给结束符’ ’;

    if (c != EOF) //如果不是结束符的话,返回c

    ungetch(c);

    return NUMBER; //返回数字的标识

    }

    希望可以帮到你,祝你好运!