大牙小兔

C语言面试题(一)字符串转换成整形

每天熟悉一道。。

int str2int(char *str)

{

#判断字符串首字母为正负,假设为正

   bool minus=False;

   long long num=0;

#判断字符串的符号

if (str!=NULL&&str!='\0')#判空

{

    if(*str='+')

      {str++;}

    else if(*str='-')

     {

      minus=true;

      str++;

      }

  if (*str!='\0')

  {

    if (*str>='0'&&*str<='9')

     {

       num=num*10+*str-'0';#使字符逐位变高,*str-'0'计算该字符相比字符0的差距

      str++;

     }

   if (minus)#如果为负数,则变换符号

   {

   num=-num;

   }

  return num;

}

posted on 2016-03-20 19:03  大牙小兔  阅读(491)  评论(0)    收藏  举报

导航