Menu
Coddy logo textTech

strlen() Kullanımı

Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 15 / 63.

Kullanıcı girişinden dizgileri okumayı öğrendiniz, ancak şimdi bu dizgilerin ne kadar uzun olduğunu belirlemenin bir yoluna ihtiyacınız var. C, özellikle bu amaç için <string.h> kütüphanesinden strlen() fonksiyonunu sağlar.

strlen() fonksiyonu, boş sonlandırıcıya (\0) ulaştığında durarak bir dizedeki karakter sayısını sayar. Önemli bir nokta şudur ki, sayıma boş sonlandırıcıyı dahil etmez - sadece gerçek görünür karakterleri sayar.

#include <stdio.h>
#include <string.h>

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // Şunu yazdırır: Length: 5

strlen() fonksiyonunu kullanmak için, programınızın en üstüne <string.h> başlık dosyasını dahil etmelisiniz. Fonksiyon, argüman olarak bir dizgi alır ve boş sonlandırıcıdan (null terminator) önceki karakter sayısını temsil eden bir tam sayı döndürür.

Bu fonksiyon; bir dizginin ne kadar yer kapladığını bilmeniz, giriş uzunluğunu doğrulamanız veya dizgi boyutuna bağlı işlemler gerçekleştirmeniz gerektiğinde özellikle yararlıdır. C programlamada en yaygın kullanılan dizgi fonksiyonlarından biridir.

challenge icon

Görev

Kolay

Girdiden birden fazla sözcük okuyan ve uzunluklarını strlen() işlevini kullanarak analiz eden bir C programı yazın. Programınız şunları yapmalıdır:

  1. İşlenecek sözcüklerin sayısını belirten bir tamsayı n okuyun
  2. n sözcüğün her biri için:
    • Sözcüğü depolamak üzere 50 öğeli bir karakter dizisi tanımlayın
    • Sözcüğü scanf kullanarak okuyun
    • Sözcüğün uzunluğunu hesaplamak için strlen() kullanın
    • Sözcüğü ve uzunluğunu belirtilen biçimde yazdırın
  3. Tüm sözcükleri işledikten sonra, tüm sözcüklerdeki toplam karakter sayısını hesaplayıp yazdırın
  4. Karşılaşılan en uzun sözcüğün uzunluğunu bulun ve yazdırın

<string.h> işlevini kullanmak için strlen() başlığını eklemeyi unutmayın.

Çıktınız sonuçları aşağıdaki biçimde göstermelidir:

Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]

Örneğin girdi şu şekildeyse:

3
hello
programming
C

Çıktınız şöyle olmalıdır:

Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11

Bu alıştırma, dizi uzunluklarını ölçmek için strlen() kullanma, döngülerle birden fazla dizi işleme ve dizi uzunluğu verilerine dayalı hesaplamalar yapma konusundaki anlayışınızı sınar.

Kendin dene

#include <stdio.h>
#include <string.h>

int main() {
    // Kelime sayısını oku
    int n;
    scanf("%d", &n);
    
    // Toplamları takip etmek için değişkenler
    int total_characters = 0;
    int max_length = 0;
    
    // YAPILACAK: Kodunuzu buraya yazın
    // Bir döngü kullanarak her kelimeyi işle
    // Her kelime için:
    // - 50 elemanlı bir karakter dizisi tanımlayın
    // - scanf kullanarak kelimeyi okuyun
    // - strlen() kullanarak uzunluğu hesaplayın
    // - Kelimeyi ve uzunluğunu yazdırın
    // - total_characters ve max_length değerlerini güncelleyin
    
    // Nihai sonuçları yazdırın
    printf("Total characters: %d\n", total_characters);
    printf("Longest word length: %d\n", max_length);
    
    return 0;
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi