将一个字符串转换为整型数值,待转换的字符串包括正、负号和数字
#include<stdio.h>#include<string.h>
#include<math.h>
int myatoi(char *string);
int main ()
{
char string[1024];
gets(string);
printf("%d",myatoi(string));
return 0;
}
int myatoi(char *string)
{
int n,i,m=0;
n=strlen(string);
if(string[0]=='+')
{
for(i=1;i<n;i++)
m=m+string[i]*pow(10,n-i-1);
}
else
for(i=1;i<n;i++)
m=m+string[i]*pow(10,n-i-1);
m=0-m;
return m;
}
为什么总是输出一些奇怪的数呢?求大神解答