首页 > 编程知识 正文

php中rand函数怎么无序输出数据,php rand函数原型

时间:2023-05-06 20:58:14 阅读:260098 作者:3886

#define LONG_MAX 2147483647L  #define LONG_MIN

(-2147483647L-1L) #includelong strtol ( char

nptr;      unsigned long acc;       unsigned char c;

unsigned long cutoff;      int neg = 0,any, cutlim; //判断正负号

do{ c = *s++;       } while (c==' ');       if (c ==

'-')     {           neg = 1;          c = *s++;

}       else if (c == '+')           c = *s++;

//判断进制数       if ((base == 0 || base == 16) &&

c == '0' && (*s == 'x' || *s == 'X'))

{           c = s[1];           s += 2;           base =

16;       }       if (base == 0)           base = c == '0'

? 8 : 10;    //溢出处理      cutoff = neg ? -(unsigned long)

LONG_MIN : LONG_MAX;      cutlim = cutoff % (unsigned long)

base;       cutoff /= (unsigned long) base;       for (acc =

0, any = 0;; c = *s++)       {          if

(c>='0'&&c<='9')               c -= '0';

else if

((c>='A'&&c<='Z')||(c>='a'&&c<='z'))

c -= (c>='A'&&c<='Z') ? 'A' - 10 : 'a' -

10;           else               break;           if

((int) c >= base)               break;           if (any

< 0 || acc > cutoff || acc == cutoff && (int) c >

cutlim)               any = -1;           else

{               any = 1;               acc *= base;

acc += c;           }       }

//超过范围则输出range error      if (any < 0)       {

// acc = neg ? LONG_MIN : LONG_MAX;           //errno =

else if (neg)           acc = -acc;       if (endptr !=

0)          *endptr = any ?(char *) ( s - 1) : (char *) nptr;

return acc;  } int main(){  char*nptr="-0x12G

00,";char  *endptr[100];int  base=0;  long n= strtol (

nptr,   endptr, base) ;

printf("n=%ldnendptr=%sn",n,*endptr); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。