Panjang Rentetan dalam Bahasa C

String Length C Language



Rentetan dalam bahasa C adalah susunan watak yang diakhiri dengan watak nol ( 0). Panjang rentetan adalah bilangan aksara dalam rentetan. Dalam rentetan ' 0', watak tidak dikira.







Dalam contoh yang ditunjukkan di atas, panjang tali hlm ialah 6.



Dalam tutorial ini, pertama, kita akan menunjukkan cara menggunakan a fungsi yang ditentukan pengguna untuk mengira panjang tali, dan kemudian kami akan menunjukkan kepada anda fungsi perpustakaan terbina dalam strlen () . Kami juga menunjukkan kepada anda penggunaan saiz operator untuk literal rentetan.



Panjang Rentetan Menggunakan Fungsi Ditentukan Pengguna

Anda boleh menulis fungsi yang ditentukan pengguna yang mengembalikan bilangan watak dalam rentetan.





//Contoh1.c
#sertakan

inttali panjang(char *hlm)
{
inti=0;

sementara(hlm[i] ! = ' 0')i++;

kembalii;
}

intutama()
{
charhlm[30]= 'TALI';

printf (Panjang tali ialah =>% d n',tali panjang(hlm));

kembali 0;
}

Di sini, kita mengulangi loop sementara dari i = 0 sehingga kita tidak menemui ‘ 0’ watak. Nilai i meningkat sebanyak 1 dalam setiap lelaran gelung sementara. Apabila gelung berakhir, nilai i ialah panjang tali.



Panjang tali menggunakan fungsi perpustakaan terbina dalam

Fungsi perpustakaan terbina dalam strlen () juga boleh digunakan untuk menentukan panjang tali.

fungsi strlen ():

Fail tajuk:

tali.h

Sintaks:

saiz_t strlen (penyambung char *hlm)

Hujah: Fungsi ini mengambil argumen penunjuk jenis ke char.

Nilai pulangan: Fungsi ini mengembalikan panjang tali hlm . Perhatikan bahawa saiz_t hanyalah alias bilangan bulat yang tidak ditandatangani.

//Contoh2.c
#sertakan
#sertakan

intutama()
{
charstr1[30]='STRING ARRAY';
char *str2;
char *str3;

str2=str1;
str3= 'STRING POINTER';

printf (Panjang tali str1 ialah =>% ld n', strlen (str1));
printf (Panjang tali str2 ialah =>% ld n', strlen (str2));
printf (Panjang tali str3 ialah =>% ld n', strlen (str3));
printf ('Panjang tali'LITERASI STRING'adalah =>% ld n', strlen ('STRING LITERAL'));

kembali 0;
}

Di sini, kami meneruskan rentetan string, string pointer, dan string literal ke fungsi strlen, dan fungsi mengembalikan panjang tali.

Panjang Rentetan Menggunakan ukuran Operator

Kami juga boleh menggunakan saiz operator untuk panjang tali (hanya untuk literal rentetan). Tetapi, kita harus mengurangkan 1 dari nilai yang dikembalikan oleh pengendali ini, kerana ia juga mengira watak ' 0'. Untuk tatasusunan dan penunjuk, ukuran operator mengembalikan ukuran array dan penunjuk yang diperuntukkan.

//Contoh3.c
#sertakan

intutama()
{
charstr1[30] = 'TALI';
char *str2=str1;

printf ('Panjang'TALI'adalah =>% d n',(saiz('TALI') - 1));
printf (Ukuran yang diperuntukkan bagi susunan str1 adalah =>% d n',saiz(str1));
printf ('Ukuran penunjuk str2 adalah =>% d n',saiz(str2));

kembali 0;
}

Di sini, di Baris no 9, kita melewati string STRING harfiah dan mendapat ukuran, termasuk watak ' 0'. Jadi, kita tolak 1 dan dapatkan ukuran rentetan sebenar.

Apabila kita meneruskan array ke ukuran size operator, ia mengembalikan ukuran array yang diperuntukkan, iaitu 30, dan ketika melewati penunjuk watak, ia mengembalikan ukuran penunjuk.

Kesimpulannya

Oleh itu, dalam tutorial ini, kami telah menunjukkan kepada anda bagaimana panjang tali dapat dihitung dengan pelbagai cara. Anda boleh menggunakan dalam kod anda mana kaedah yang paling sesuai untuk anda.