W powyższym przykładzie długość sznurka str jest 6.
W tym samouczku najpierw pokażemy, jak używać a funkcja zdefiniowana przez użytkownika aby obliczyć długość ciągu, a następnie pokażemy Ci wbudowaną funkcję biblioteczną strlen(). Pokazujemy również zastosowania rozmiar operator dla literałów łańcuchowych.
Długość ciągu przy użyciu funkcji zdefiniowanej przez użytkownika
Możesz napisać funkcję zdefiniowaną przez użytkownika, która zwraca liczbę znaków w ciągu.
//Przykład 1.do#zawierać
int stringLength(znak *str)
int i=0;
podczas(str[i] != '\0') i++;
powrót ja;
int main()
znak str[30]= "ŁAŃCUCH";
printf("Długość ciągu ciąg wynosi => %d\n",stringLength(str));
zwróć 0;
Tutaj iterujemy pętlę while od ja = 0 dopóki nie napotkamy '\0' postać. Wartość ja zwiększa się o 1 w każdej iteracji pętli while. Gdy pętla się kończy, wartość ja to długość sznurka.
Długość ciągu przy użyciu wbudowanej funkcji biblioteki
Wbudowana funkcja biblioteki strlen() może być również użyty do określenia długości struny.
funkcja strlen():
Plik nagłówkowy:
strunowy.hSkładnia:
size_t strlen (const char *str)Argument: Ta funkcja przyjmuje argument typu wskaźnik do char.
Wartość zwrotu: Ta funkcja zwraca długość ciągu str. Zauważ, że rozmiar_t to tylko alias liczby całkowitej bez znaku.
//Przykład2.do#zawierać
#zawierać
int main()
char str1[30]="TABLICA ŁAŃCUCHÓW";
char *str2;
znak *str3;
słowo2 = słowo1;
str3 = "WSKAŹNIK ŁAŃCUCHA";
printf("Długość łańcucha str1 wynosi => %ld\n",strlen(str1));
printf("Długość ciągu str2 wynosi => %ld\n",strlen(str2));
printf("Długość ciągu str3 wynosi => %ld\n",strlen(str3));
printf("Długość ciągu "LITERAŁÓW ŁAŃCUCHOWYCH" wynosi => %ld\n",strlen("LITERAŁÓW ŁAŃCUCHOWYCH"));
zwróć 0;
Tutaj przekazujemy tablicę ciągów, wskaźnik ciągu i literał ciągu do funkcji strlen, a funkcja zwraca długość ciągu.
Długość ciągu Używając sizeof Operator
Możemy również użyć rozmiar operator długości łańcucha (tylko dla literału łańcucha). Ale musimy odjąć 1 od wartości zwracanej przez ten operator, ponieważ liczy on również znak „\0”. W przypadku tablicy i wskaźnika operator sizeof zwraca odpowiednio przydzielony rozmiar tablicy i wskaźnika.
//Przykład3.do#zawierać
int main()
znak str1[30] = "ŁAŃCUCH";
char *str2 =str1;
printf("Długość "ŁAŃCUCHA" wynosi => %d\n",(sizeof("ŁAŃCUCH") - 1));
printf("Przydzielony rozmiar tablicy str1 wynosi => %d\n",sizeof(str1));
printf("Rozmiar wskaźnika str2 to => %d\n",sizeof(str2));
zwróć 0;
Tutaj, w wierszu nr 9, przekazujemy literał ciągu „STRING” i otrzymujemy rozmiar, w tym znak „\0”. Odejmujemy więc 1 i otrzymujemy rzeczywisty rozmiar łańcucha.
Gdy przekazujemy tablicę do operatora sizeof, zwraca on przydzielony rozmiar tablicy, który wynosi 30, a przy przekazywaniu wskaźnika znakowego zwraca rozmiar wskaźnika.
Wniosek
W tym samouczku pokazaliśmy, jak można obliczyć długość sznurka na różne sposoby. Możesz użyć w swoim kodzie dowolnej metody, która najbardziej Ci odpowiada.