⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atoi.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
/* @(#)atoi.c	4.3 (Berkeley) 81/02/28 */#include <limits.h>#include <errno.h>atoi(p)register char *p;{	int maxover = INT_MAX/10; 	/* overflow check */	int maxunder = INT_MIN/10;	/* underflow check*/	int errflg = 0; 	register int n;	register int f;	n = 0;	f = 0;	for(;;p++) {		switch(*p) {		case ' ':		case '\t':			continue;		case '-':			f++;		case '+':			p++;		}		break;	}	while(*p >= '0' && *p <= '9')        {                if(n > maxover || n < maxunder)                        errflg++;                n = n*10;                if(f)                {                        if(INT_MIN + n > -(*p - '0'))                                errflg++;                }                else                        if(INT_MAX - n < *p - '0')                                errflg++;                n += *p++ - '0';        }        if(errflg)        {                errno = ERANGE;                return(f ? INT_MIN : INT_MAX);        }        else                return(f? -n: n);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -