logo

Atoi() funkcija u C-u

U ovom ćemo članku raspravljati o vući() funkcija u c svojim primjerima.

Što je Atoi()?

The vući() funkcija pretvara an cijeli broj vrijednost od a niz likova. Ulazni niz je niz znakova koji se može pretvoriti u numeričku vrijednost povratnog tipa. Funkcija prestaje čitati ulazni niz kada naiđe na prvi znak koji ne smatra dijelom broja. To može biti nulti znak na krajevima niza. The vući() funkcija ne podržava eksponente i decimalne brojeve.

Funkcija int atoi( const char *str ) u C biblioteka mijenja string argument str u cijeli broj. Općenito, funkcija pretvara argument niza u cijeli broj. Funkcija atoi() preskače sve znakove razmaka na početku niza. Također pretvara znakove kao brojčani dio i zaustavlja se kada pronađe prvi znak koji nije broj.

Funkcija knjižnice Atoi().

Unaprijed definirana bibliotečka funkcija atoi() u C programiranju upravlja konverzijom niza u cijeli broj. Funkcija je navedena u datoteci zaglavlja stdlib.h .

veličina teksta od lateksa

Sintaksa funkcije Atoi().

Sintaksa funkcije Atoi() može se definirati kao:

rihanna godina
 int atoi(const char *str) 

Parametar

Funkciji se prosljeđuje samo jedan parametar, niz. Važno je zapamtiti da se niz prima kao konstanta. Funkcija atoi() nikada ne mijenja primljeni niz i vraća samo njegovu transformiranu vrijednost cijelog broja. Datoteka zaglavlja 'stdlib.h' podržava sve funkcije pretvaranja tipa u C jezik.

Povratna vrijednost

Ako je str važeći unos, funkcija vraća cijeli broj jednak proslijeđenom broju niza. Ako str nema važeći unos, funkcije vraćaju nultu vrijednost. Općenito, nizovi se mogu učinkovito pretvoriti u brojeve i uključuju sljedeće parametre:

  1. Žice sastavljene u potpunosti od ASCII znamenke '0123456789' .
  2. Nizovi koji počinju znakom '+' a sastoje se u potpunosti od ASCII
  3. Žice sastavljene u potpunosti od ASCII znamenke i počinju znakom '-' .

Funkcija Atoi() radi postupno. Drugim riječima, konstruira brojeve koji su predstavljeni nizovima jedan po jedan. Funkcija se prekida samo kada naiđe na ne-ASCII.

Funkcija Atoi() vraća jednu od dvije moguće vrijednosti nakon prekida. Ako se funkcija pozove na početku niza i nijedna vrijednost nije transformirana, vraća 0. U suprotnom, vraća nedavni broj koji ima.

najljepši osmijeh na svijetu

Primjer 1:

Uzmimo primjer da bismo razumjeli funkciju atoi() u C-u.

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

Izlaz: Nakon izvršenja ovog gornjeg koda, dobit ćemo izlaz kao što je prikazano u nastavku:

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

Primjer 2:

Ovaj primjer upravlja negativnim brojevima. Ako je prvi znak '-' , postavite predznak kao negativan i zatim transformirajte ostatak niza u broj množenjem predznaka s njim.

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

Izlaz: Nakon izvršenja ovog gornjeg koda, dobit ćemo izlaz kao što je prikazano u nastavku:

 Output = -23233 

Primjer 3:

Uzmimo drugi C program za pretvaranje niza u cijeli broj pomoću funkcije 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; } 

Izlaz: Nakon izvršavanja gornjeg koda, dobit ćemo izlaz kao što je prikazano u nastavku:

rekurzija java

Izlaz je:

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