Program, bg_strrev() fonksiyonunu kullanarak, bir karakter dizisini tersine çevirir ve ekrana yazar.
#include <stdio.h>
#include <string.h>
char* bg_strrev(char *str);
int main(void)
{
char cdizi[] = "Bilgisayar";
printf("%s", bg_strrev(cdizi));
return 0;
}
char* bg_strrev(char *str)
{
char *beg = str; // Dizinin ilk elemanının bellek adresini atama
char *end = str+(strlen(str)-1); // Dizinin en son elemanının bellek adresini atama
char temp;
while(end>beg) {
temp = *beg; // Dizi başlangıcından itibaren karakterleri sıra ile temp değişkenine atama
*beg++ = *end; // Dizinin en sonundan itibaren karakterleri sıra ile dizi başlangıç karakterine atama
*end-- = temp; // temp değişken değerini dizi sonu işaretçisine atama
}
return str;
}
Yukarıdaki programı derleyip çalıştırdığımızda, aşağıdaki ifadeleri ekrana yazar:
rayasigliB