2018.7.22(一)

2018-07-22  本文已影响0人  木子啨

leetcode String to Integer (atoi)

解题思路:开始有空格的话,直接++;开始的正负号做一个保存;数字逐位计,碰到非数字的情况,直接返回当前数值;碰到超过上下限的问题,直接返回对应的最大值和最小值

<pre>

这个好用??

<pre>

```

为什么不好用???

```

```

int myAuto(char *str)

{

int flag = 1; //保存符号

int res = 0;

int dig;

while (*str == ' ') str++;

if (*str == '-')

{

flag = -1;

str++;

}

else if (*str == '+')

{

str++;

}

while (*str)

{

if (*str<'0' || *str>'9')

return flag * res;

dig = *str - '0';

if (flag == 1 && res * 10 + dig > INT_MAX)

return INT_MAX;

else if (flag == -1 && -res * 10 - dig < INT_MIN)

return INT_MIN;

res = res * 10 + dig;

str++;

}

return flag * res;

}

```

c语言从键盘输入字符串到指针数组

```

char* str = (char*)malloc(sizeof(char) *100);

scanf("%s", str);

```

上一篇下一篇

猜你喜欢

热点阅读