#include <stdio.h>
long s2i(char *s);
int main(void)
{
printf("%ld\n",s2i("-123456"));
return 0;
}
long s2i(char *s)
{
long n=0,sign=1;
while(*s)
{
switch(*s)
{
case '+':sign=1;break;
case '-':sign=-1;break;
default:n=n*10+*s-'0';break;
}
s++;
}
return sign*n;
}
追问可以用原形int inver (char *s)
追答#include <stdio.h>
int inver(char *s);
int main(void)
{
printf("%d\n",inver("-1234"));
return 0;
}
int inver(char *s)
{
int n=0,sign=1;
while(*s)
{
switch(*s)
{
case '+':sign=1;break;
case '-':sign=-1;break;
default:n=n*10+*s-'0';break;
}
s++;
}
return sign*n;
}