logo

Funkcija Atoi() v C

V tem članku bomo razpravljali o vleka() funkcijo v c s svojimi primeri.

Kaj je Atoi()?

The vleka() funkcija pretvori an celo število vrednost od a vrvica znakov. Vhodni niz je niz znakov, ki se lahko spremeni v številsko vrednost vrnjenega tipa. Funkcija preneha brati vhodni niz, ko naleti na prvi znak, ki ga ne šteje za del števila. Lahko je ničelni znak na koncu niza. The vleka() funkcija ne podpira eksponentov in decimalnih števil.

Funkcija int atoi( const char *str ) v C knjižnica spremeni nizovni argument str v celo število. Na splošno funkcija pretvori argument niza v celo število. Funkcija atoi() preskoči vse prazne znake na začetku niza. Pretvori tudi znake kot številski del in se ustavi, ko najde prvi znak, ki ni številka.

Funkcija knjižnice Atoi().

Vnaprej definirana knjižnična funkcija atoi() v programiranju C obravnava pretvorbo niza v celo število. Funkcija je navedena v datoteki glave stdlib.h .

zanke java

Sintaksa funkcije Atoi().

Sintakso funkcije Atoi() lahko definiramo kot:

 int atoi(const char *str) 

Parameter

Funkciji se posreduje samo en parameter, niz. Pomembno si je zapomniti, da je niz sprejet kot konstanta. Funkcija atoi() nikoli ne spremeni prejetega niza in vrne le njegovo transformirano celoštevilsko vrednost. Datoteka glave 'stdlib.h' podpira vse funkcije pretvorbe tipov v jeziku C.

Povratna vrednost

Če je str veljaven vnos, funkcija vrne celo število, ki je enako posredovanemu številu niza. Če str nima veljavnega vnosa, funkcije vrnejo vrednost nič. Na splošno je mogoče nize učinkovito pretvoriti v števila, vključno z naslednjimi parametri:

  1. Strune, ki so v celoti sestavljene iz ASCII števke '0123456789' .
  2. Nizi, ki se začnejo z znakom '+' in so v celoti sestavljeni iz ASCII
  3. Strune, ki so v celoti sestavljene iz ASCII števke in se začnejo z znakom '-' .

Funkcija Atoi() deluje postopoma. Z drugimi besedami, konstruira števila, ki so predstavljena z nizi enega za drugim. Funkcija prekine le, ko naleti na ne-ASCII.

mergesort java

Funkcija Atoi() po prekinitvi vrne eno od dveh možnih vrednosti. Če je funkcija poklicana na začetku niza in nobena vrednost ni bila preoblikovana, vrne 0. V nasprotnem primeru bi vrnila zadnjo številko, ki jo ima.

Primer 1:

Vzemimo primer za razumevanje funkcije atoi() v C.

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

Izhod: Po izvedbi zgornje kode bomo dobili rezultat, kot je prikazan spodaj:

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

Primer 2:

Ta primer obravnava negativna števila. Če je prvi znak '-' , postavite znak kot negativen in nato preostanek niza pretvorite v število tako, da znak pomnožite z 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; } 

Izhod: Po izvedbi zgornje kode bomo dobili rezultat, kot je prikazan spodaj:

 Output = -23233 

Primer 3:

Vzemimo drug program C za pretvorbo niza v celo število s funkcijo 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; } 

Izhod: Po izvedbi zgornje kode bomo dobili izhod, kot je prikazan spodaj:

Rezultat je:

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