带负号字符串转换成整型

来源:互联网 发布:the piano guys知乎 编辑:程序博客网 时间:2024/06/06 20:11
#include <stdio.h>
#include <string.h>
#include  <math.h>
int StrToInt(char *p)
{
int len = strlen(p);
int i = 0;
int flag = 0;
if (len == 0)
{
return -1;
}
if (p[0] == '-')
{
i = 1;
flag = 1;
}
int sum = 0;
for (;i < len; i++)
{
if (p[i] >= '0'&&p[i] <= '9')
{
sum = sum + float(p[i] - '0')*pow(10.0, len - i - 1);
}
else
{
return -1;
}
}
return flag>0 ? sum*-1 : sum;
//return sum;
}
int main()
{
char *a = "-14423";
int n = StrToInt(a);
printf("%d\n",n);
return 0;

}

哈哈,大神给我讲了好久才懂。

原创粉丝点击