Pergunta de entrevista da empresa NVIDIA

How would you implement int atoi ( const char * str );

Respostas da entrevista

Sigiloso

21 de ago. de 2011

I parsed the string from left to right, multiplying the temp int by 10 for each char traversed.

Sigiloso

10 de jan. de 2012

You need to subtract the ascii value of zero to get the integer value of the char before multiplying by 10.

Sigiloso

19 de mai. de 2012

#include #include unsigned int my_atoi(const char* str) { int num = 0; while (*str) { num *= 10; num += (*str++ - '0'); } return num; } int main(int argc, char* argv[]) { printf("atoi(%s)=%d\n",argv[1], my_atoi(argv[1]) ); return 0; }