getop()是个什么涵数

2024-11-09 00:57:08
推荐回答(1个)
回答(1):

你好!
你说的这个getop()函数,不是标准库中的函数,应该是《the c programming language》这本书中的一个例子当中的函数,它的作用是读取一个数值,下面是它的原代码:
int getop(char s[])
{
int i, c;
while ((s[0] = c = getch()) == ' '|| c == '\t')
; //如果是空格或者制表符,跳过;
s[1] = '\0'; //如果不是空格或者制表符,把字符赋给c并且保存在
// s[0]中,把s[1]置为结束符,因为数组s是以’\0’结尾的
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] = ‘\0’; //赋给结束符’\0’;
if (c != EOF) //如果不是结束符的话,返回c
ungetch(c);
return NUMBER; //返回数字的标识
}

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