logo

Atoi() funkcija C

Šiame straipsnyje aptarsime vilkti () funkcija c su jų pavyzdžiais.

Kas yra Atoi()?

The vilkti () funkcija konvertuoja an sveikasis skaičius vertė nuo a styga simbolių. Įvesties eilutė yra simbolių eilutė, kuri gali būti paversta grąžinimo tipo skaitine verte. Funkcija nustoja skaityti įvesties eilutę, kai susiduria su pirmuoju simboliu, kurio ji nelaiko skaičiaus dalimi. Tai gali būti nulinis simbolis eilutės gale. The vilkti () funkcija nepalaiko eksponentų ir dešimtainių skaičių.

Funkcija int atoi( const char *str ) viduje C biblioteka pakeičia eilutės argumentą str į sveikąjį skaičių. Paprastai funkcija konvertuoja eilutės argumentą į sveikąjį skaičių. Funkcija atoi() praleidžia visus tarpo simbolius eilutės pradžioje. Jis taip pat paverčia simbolius kaip skaičių dalį ir sustoja, kai randa pirmąjį ne skaičių simbolį.

Atoi() bibliotekos funkcija

C programavimo iš anksto nustatyta bibliotekos funkcija atoi() konvertuoja eilutę į sveikąjį skaičių. Funkcija nurodyta antraštės faile stdlib.h .

skirtumas tarp tigro ir liūto

Funkcijos Atoi() sintaksė

Funkcijos Atoi() sintaksė gali būti apibrėžta taip:

 int atoi(const char *str) 

Parametras

Funkcijai perduodamas tik vienas parametras, eilutė. Svarbu atsiminti, kad eilutė gaunama kaip konstanta. Funkcija atoi() niekada nekeičia gautos eilutės ir grąžina tik jos transformuotą sveikojo skaičiaus reikšmę. Antraštės failas „stdlib.h“ palaiko visas tipo perdavimo funkcijas C kalba.

Java pavadinimų konvencija

Grąžinimo vertė

Jei str yra tinkama įvestis, funkcija grąžina sveikąjį skaičių, lygų perduotos eilutės skaičiui. Jei str neturi tinkamos įvesties, funkcijos grąžina nulinę reikšmę. Apskritai, eilutes galima efektyviai konvertuoti į skaičius, įskaitant šiuos parametrus:

  1. Stygos, sudarytos tik iš ASCII skaitmenys '0123456789' .
  2. Stygos, kurios prasideda simboliu '+' ir yra sudaryti tik iš ASCII
  3. Stygos, sudarytos tik iš ASCII skaitmenys ir prasidedantys simboliu '-' .

Funkcija Atoi() veikia laipsniškai. Kitaip tariant, jis konstruoja skaičius, kurie po vieną vaizduojami eilutėmis. Funkcija nutrūksta tik tada, kai susiduria su ne ASCII.

Funkcija Atoi() grąžina vieną iš dviejų galimų reikšmių po sulaužymo. Jei funkcija iškviečiama eilutės pradžioje ir jokia reikšmė nebuvo transformuota, ji grąžina 0. Priešingu atveju ji grąžins naujausią skaičių.

1 pavyzdys:

Paimkime pavyzdį, kad suprastume atoi() funkciją C.

 #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); } 

Išvestis: Įvykdę šį aukščiau esantį kodą, gausime išvestį, kaip parodyta žemiau:

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

2 pavyzdys:

Šis pavyzdys valdo neigiamus skaičius. Jei pirmasis simbolis yra '-' , padėkite ženklą kaip neigiamą ir paverskite likusią eilutės dalį į skaičių, padaugindami ženklą iš jo.

java kolekcijos
 #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; } 

Išvestis: Įvykdę šį aukščiau esantį kodą, gausime išvestį, kaip parodyta žemiau:

 Output = -23233 

3 pavyzdys:

Paimkime kitą C programą, norėdami konvertuoti eilutę į sveikąjį skaičių, naudodami funkciją Atoi ().

kas yra maven
 #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; } 

Išvestis: Įvykdę aukščiau pateiktą kodą, gausime išvestį, kaip parodyta žemiau:

Išvestis yra:

 Enter any integer = abc Converted integer = 0 Enter any integer = 12221 Converted integer = 12221 Enter any integer = 1.1225112 Converted integer = 1