Operator koma dalam pemrograman C, seperti yang biasa kita terapkan adalah untuk mendeklarasikan beberapa variabel dengan tipe data yang sama dalam satu baris. Contoh:
int a, b, c;
float i, j, pi=3.14;
Selain untuk mendeklarasikan beberapa variabel dengan tipe data yang sama dalam satu baris, operator koma (,) juga digunakan untuk memisahkan ekspresi. Contoh:
int a = 0, b = 15;
a = (printf("b = %d\n"), a = 5, a * b);
printf("a = %d\n", a);
Bagaimanakah output dari program tersebut? Hasilnya adalah:
b = 15
a = 75
Mengapa a = 75? Karena sebelum dikalikan dengan b, a diisi dengan nilai 5. Oleh karenanya hasil ekspresi: a * b = 5 * 15 = 75.
Baris program:
a = (printf("b = %d\n"), a = 5, a * b);
adalah valid. Syaratnya adalah pastikan bahwa hasil dari ekspresi terakhir memiliki tipe data yang sama dengan variabel yang akan diisi nilainya.
Jika baris tersebut diubah menjadi:
a = (printf("b = %d\n"), a = 5, a * b, "Chandra");
maka akan muncul peringatan dari kompiler bahwa kita melakukan assignment dengan tipe data yang berbeda tanpa melakukan casting.
Menampilkan Bilangan Ganjil dan Genap
Berikut ini adalah contoh penerapan operator koma dalam program penampil bilangan ganjil dan genap.
Program menggunakan perulangan for. Simak kode programnya berikut ini.
// Menampilkan deret bilangan ganjil dan genap
// dengan memanfaatkan operator koma ( , )
#include <stdio.h>
int main(void)
{
int i, ganjil=1, genap=2;
printf("--------------------------\n");
printf(" i Ganjil Genap\n");
printf("--------------------------\n");
for (i=1; i<=10; i++, ganjil+=2, genap+=2);
printf("%2d %7d %7d\n", i, ganjil, genap);
printf("-------------------------\n");
return 0;
}
Pada eksperimen ini saya menggunakan TCC (Tiny C Compiler) dan GCC 5.4.0. Berikut ini adalah screenshot kode program di atas.

Dan berikut ini adalah screenshot hasil eksekusi dari program tersebut.

Nah, demikianlah sekelumit tentang operator koma dalam pemrograman C.
Sebagai penutup, berikut ini adalah kode program fungsi strcpy yang juga memanfaatkan operator koma.
Kode program fungsi strcpy ini saya ambil dari halaman berikut ini:
https://github.com/libressl-portable/openbsd/blob/master/src/lib/libc/string/strcpy.c
char *
strcpy(char *to, const char *from)
{
char *save = to;
for (; (*to = *from) != '\0'; ++from, ++to);
return(save);
}
Semoga bermanfaat.
Kunjungi Situs Kami
https://teknikelektrolinks.com
Pelatihan PRIVAT Online
Kami menyediakan layanan Pelatihan/Bimbingan PRIVAT Online untuk materi pemrograman dan perancangan hardware berbasis Arduino dan Mikrokontroler 8051, AVR, STM8 dan PIC.
Kami juga merancang dan membuat panel kontrol berbasis Zelio Smart-Relay.
Jika Anda membutuhkan bantuan kami, silakan menghubungi melalaui WA 0882-3560-7047.
Selamat berkarya.