sayfa başı

22 Şubat 2019 Cuma

C Çalışma Soruları – 8 (yazı işlemleri)

Necati Ergin Hocamın kendi sayfasında bulunan çalışma sorularını ve cevaplarını burada yanıtlamaya çalıştım. Sorulara buradan ulaşabilirsiniz.

Bir yazının sonunda başka bir yazının olup olmadığını test eden is_at_end isimli işlevi tanımlayınız.
  
  int is_at_end(const char *p1, const char *p2);
İşlev p1 yazısının sonunda p2 yazısı varsa sıfır dışı bir değere aksi halde sıfır değerine geri döner.

Tanımladığınız işlevi aşağıdaki kod ile test edebilirsiniz:
#include <stdio.h>

int is_at_end(const char *p1, const char *p2);

int main()
{
   printf("%d", !!is_at_end("necati ergin", "ergin"));
   printf("%d", !!is_at_end("kahramanmaras", "maras"));
   printf("%d", !!is_at_end("kaanaslan", "uslan"));
   printf("%d", !!is_at_end("baskent Ankara", "kara"));
   printf("%d", !!is_at_end("ergin", "necati ergin"));
   return 0;
}


Programınızın çıktısı 11010 olmalı.

Yanıt:

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

/*
* C çalışma soruları – 8 (yazı işlemleri)
*/

int is_at_end(const char *p1, const char *p2)
{
    int retVal = 0;
    
    //check pointer 
    if ((NULL == p1) || (NULL == p2))
    {
        return retVal;
    }
        
    if (NULL != strstr(p1, p2))
    {
        retVal = 1;
    }
    
    return retVal;
}
 
int main()
{
    printf("%d", !!is_at_end("necati ergin", "ergin"));
    printf("%d", !!is_at_end("kahramanmaras", "maras"));
    printf("%d", !!is_at_end("kaanaslan", "uslan"));
    printf("%d", !!is_at_end("baskent Ankara", "kara"));
    printf("%d", !!is_at_end("ergin", "necati ergin"));
    return 0;
}

Hiç yorum yok:

Yorum Gönder

Son Ütücü