3 Contoh Program Fungsi untuk Menukar String Bahasa C
#include<stdio.h>
void swap(char *str1, char *str2)
{
char *temp = str1;
str1 = str2;
str2 = temp;
}
int main()
{
char *str1 = "makan";
char *str2 = "danmakan";
swap(str1, str2);
printf("str1 adalah %s,"
"str2 is %s", str1, str2);
getchar();
return 0;
}
Jika menggunakan karakter pointer untuk string yang bukan array maka ubah str1 dan str2 untuk saling melakukan penunjukkan data. Yaitu, dengan melakukan penukaran pointer. Pada fungsi, akan dilakukan penukaran pointer dan akan dilakukan perubahan yang direpfleksikan diluar fungsi, sehingga perlu dilakukan penerusan pointer ke pointer.
#include<stdio.h>
/* Menukar string dengan cara
menukar pointer */
void swap1(char **str1_ptr, char **str2_ptr)
{
char *temp = *str1_ptr;
*str1_ptr = *str2_ptr;
*str2_ptr = temp;
}
int main()
{
char *str1 = "makan";
char *str2 = "danmakan";
swap1(&str1, &str2);
printf("str1 adalah %s"
", str2 adalah "
"%s", str1, str2);
getchar();
return 0;
}
Penukaran Data
Jika menggunakan karakter array untuk menyimpan string maka yang yang mudah untuk melakukan penukaran data dari kedua array adalah sebagai berikut:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
/* Menukar String dengan Cara Menukar Data */
void swap2(char *str1, char *str2)
{
char *temp = (char *)malloc((strlen(str1) + 1) * sizeof(char));
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
free(temp);
}
int main()
{
char str1[10] = "makan";
char str2[10] = "danmakan";
swap2(str1, str2);
printf("str1 adalah %s, str2 adalah %s", str1, str2);
getchar();
return 0;
}
Udah daripada belajar cara menukan string mending rakit PC aja.
BalasHapusKenapa perlu menggunakan fungsi penukar string pada bahasa C?
BalasHapusKarena ada suatu kondisi dimana sebuah program perlu melakukan penukaran nilai string.
HapusApa contoh program yang perlu untuk melakukan sebuah string?
BalasHapusContoh, program untuk mengurutkan nilai atau sorting, dimana pada salah satu langkah algoritmanya perlu menggunakan proses penukaran data, atau penukaran string.
Hapus