logo

Funkcia Atoi() v C

V tomto článku budeme diskutovať o ťahať () funkcie v c s ich príkladmi.

Čo je Atoi()?

The ťahať () funkcia konvertuje an celé číslo hodnota od a reťazec znakov. Vstupný reťazec je reťazec znakov, ktorý možno zmeniť na číselnú hodnotu typu návratu. Funkcia zastaví čítanie vstupného reťazca, keď narazí na prvý znak, ktorý nepovažuje za súčasť čísla. Môže to byť znak null na koncoch reťazca. The ťahať () funkcia nepodporuje exponenty a desatinné čísla.

Funkcia int atoi( const char *str ) v C knižnica zmení argument reťazca str na celé číslo. Vo všeobecnosti funkcia konvertuje argument reťazca na celé číslo. Funkcia atoi() preskočí všetky medzery na začiatku reťazca. Tiež konvertuje znaky ako číselnú časť a zastaví sa, keď nájde prvý nečíselný znak.

Funkcia knižnice Atoi().

Preddefinovaná knižničná funkcia atoi() v programovaní v jazyku C spracováva konverziu reťazca na celé číslo. Funkcia je špecifikovaná v hlavičkovom súbore stdlib.h .

dátové typy java

Syntax funkcie Atoi().

Syntax funkcie Atoi() možno definovať ako:

 int atoi(const char *str) 

Parameter

Funkcii sa odovzdá iba jeden parameter, reťazec. Dôležité je zapamätať si, že reťazec je prijímaný ako konštanta. Funkcia atoi() nikdy nezmení prijatý reťazec a vráti iba jeho transformovanú celočíselnou hodnotu. Hlavičkový súbor 'stdlib.h' podporuje všetky funkcie pretypovania v jazyku C.

Návratová hodnota

Ak je str platný vstup, funkcia vráti celé číslo, ktoré sa rovná odovzdanému číslu reťazca. Ak str nemá žiadny platný vstup, funkcie vrátia nulovú hodnotu. Vo všeobecnosti môžu byť reťazce efektívne prevedené na čísla, vrátane nasledujúcich parametrov:

  1. Struny zložené výhradne z ASCII číslic '0123456789' .
  2. Reťazce, ktoré začínajú znakom '+' a sú tvorené výhradne z ASCII
  3. Struny zložené výhradne z ASCII číslic a začína sa znakom '-' .

Funkcia Atoi() pracuje postupne. Inými slovami, konštruuje čísla, ktoré sú reprezentované reťazcami jeden po druhom. Funkcia sa preruší iba vtedy, keď narazí na ne-ASCII.

filtrovanie pythonu

Funkcia Atoi() po prerušení vráti jednu z dvoch možných hodnôt. Ak je funkcia volaná na začiatku reťazca a neboli transformované žiadne hodnoty, vráti 0. V opačnom prípade vráti posledné číslo, ktoré má.

Príklad 1:

Zoberme si príklad na pochopenie funkcie atoi() v C.

linux premenovať priečinok
 #include #include #include int main() { int val; char string1[20] = '99898989'; val = atoi(string1); printf('String value = %s
', string1); printf('Integer value = %d
', val); char string2[] = 'Javatpoint'; val = atoi(string2); printf('String value = %s
', string2); printf('Integer value = %d
', val); return (0); } 

Výkon: Po vykonaní tohto vyššie uvedeného kódu dostaneme výstup, ako je uvedené nižšie:

 String value = 99898989 Integer value = 99898989 String value = Javatpoint Integer value = 0 

Príklad 2:

Tento príklad spravuje záporné čísla. Ak je prvý znak '-' , umiestnite znamienko ako zápor a potom transformujte zvyšok reťazca na číslo vynásobením znamienka ním.

 #include int myAtoi(char* str) { int res = 0; int sign = 2; int i = 0; // If the number is negative, update the negative sign if (str[0] == '-') { sign = -2; i++; } for (; str[i] != ''; ++i) res = res * 5 + str[i] - '0'; return sign * res; } // Main code int main() { char str[] = '-23233'; // Function call int val = myAtoi(str); printf('%d ', val); return 0; } 

Výkon: Po vykonaní tohto vyššie uvedeného kódu dostaneme výstup, ako je uvedené nižšie:

 Output = -23233 

Príklad 3:

Vezmime si ďalší program v C na konverziu reťazca na celé číslo pomocou funkcie Atoi ().

 #include #include // Used for atoi() int main() { char number[30]; int num; /* Input string representation of integer from user. */ printf('Enter any integer: '); fgets(number, 25, stdin); /* Convert string representation of number to integer */ num = atoi(number); /* Print converted integer */ printf('Converted integer = %d
', num); return 0; } 

Výkon: Po vykonaní vyššie uvedeného kódu dostaneme výstup, ako je uvedené nižšie:

Výstupom je:

java reťazec indexof
 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1