Bu program kullanıcıdan bir cümle alır ve özyineleme kullanarak bu cümleyi ters çevirir. Bu program cümleyi ters çevirmek veya cümleyi saklamak için string kullanmaz.
Örnek: Özyineleme kullanarak bir cümleyi ters çevir
#include <stdio.h>
void reverseSentence();
int main()
{
printf("Bir cümle girin: ");
reverseSentence();
return 0;
}
void reverseSentence()
{
char c;
scanf("%c", &c);
if( c != '\n')
{
reverseSentence();
printf("%c",c);
}
}
Çıktısı :
Bir cümle girin: aynüd abahrem
merhaba dünya
Bu program ilk önce “Bir cümle girin:” yazıyor. Ardından, hemen reverseSentence() fonksiyonu çağrılır.
Bu fonksiyon kullanıcı tarafından girilen ilk harfi c değişkeninde saklar. Değişken ‘\ n’ [karakter girin] dışında bir karakterse, reverseSentence () işlevi yeniden çağrılır.
ReverseSentence () ikinci kez çağrıldığında, kullanıcı tarafından girilen ikinci harf tekrar c’ye kaydedilir.
Ancak, ikinci fonksiyondaki c değişkeni birincisiyle aynı değildir. Her ikisi de bellekte farklı yer tutarlar.
Bu işlem, kullanıcı ‘\ n’ girene kadar devam eder.
Kullanıcı nihayet ‘\ n’ girdiğinde, son işlevi reverseSentence () işlevi printf nedeniyle son karakteri yazdırır (“% c”, c); ve ikinci son reverseSentence () işlevine geri döner.
Yine, ikinci son reverseSentence () işlevi, ikinci son karakteri basar ve üçüncü son reverseSentence () işlevine geri döner.
Bu süreç devam eder ve son çıktı ters cümle olur.