#include<iostream>
#include<string>
#include<vector>
using namespace std;
#define MAX_INT ((int)0x1fffffff)
#define MIN_INT ((int)0x10000000)
int atoi(char *str){
int resu=0;
char temp;
int flag=1;
if(str==NULL) return 0;
while(*str==' ')
str++;
if(*str=='-'){
flag=-1;
str++;
}
else if(*str=='+'){
str++;
}
while(*str >= '0' && *str <= '9'){
//temp=*str;
resu=resu*10+*str-'0';
if(flag=1){
if(resu>MAX_INT)
return 10;
}
else if(resu<MIN_INT)
return 100;
str++;
}
return (int)flag*resu;
}
int main ()
{
char s[]="123";
int resu=atoi(s);
cout<<resu<<endl;
return 0;
}
/*
int main(int argc,char*argv[])
{
int i=-2147483648;
cout<<-i<<endl;
cout<<~i<<endl;
cout<<1-i<<endl;
cout<<-1-i<<endl;
char *str="hello";
cout<<str; return 0;
}
*/
#include<string>
#include<vector>
using namespace std;
#define MAX_INT ((int)0x1fffffff)
#define MIN_INT ((int)0x10000000)
int atoi(char *str){
int resu=0;
char temp;
int flag=1;
if(str==NULL) return 0;
while(*str==' ')
str++;
if(*str=='-'){
flag=-1;
str++;
}
else if(*str=='+'){
str++;
}
while(*str >= '0' && *str <= '9'){
//temp=*str;
resu=resu*10+*str-'0';
if(flag=1){
if(resu>MAX_INT)
return 10;
}
else if(resu<MIN_INT)
return 100;
str++;
}
return (int)flag*resu;
}
int main ()
{
char s[]="123";
int resu=atoi(s);
cout<<resu<<endl;
return 0;
}
/*
int main(int argc,char*argv[])
{
int i=-2147483648;
cout<<-i<<endl;
cout<<~i<<endl;
cout<<1-i<<endl;
cout<<-1-i<<endl;
char *str="hello";
cout<<str; return 0;
}
*/