Artikel Terbaru

4 Keunggulan Utama Bitcoin

Sebelum membicarakan tentang bitcoin, terlebih dahulu mari pahami apa yang dimaksud dengan uang. Apa sebenarnya yang dimaksud dengan uang? Pada dasarnya, uang adalah segala sesuatu yang mewakili nilai tertentu.

Penjelasan Singkat, Eksekusi Printf dengan Operator Increment pada Bahasa C

Pada artikel ini akan dijelaskan tentang undefined behavior pada bahasa C, serta bagaimana kondisi eksekusi program dari operator printf terhadap operator increment pada bahasas C. Sebelum lanjut, perhatikan contoh penggalan program berikut ini dan perkirakan hasil output-nya.

printf("%d %d %d", i, ++i, i++); 

Pada contoh penggalan program sebelumnya, akan dipanggil behavior yang tidak terdefinisi oleh kedua referensi 'i' dan 'i++' pada list argument. Program tersebut tidak dapat mendefinisikan perintah argumen yang akan dievaluasi. Kompilator yang berbeda mungkin akan memiliki pendekatan yang berbeda pula pada hasil output. Sebuah kompilator tunggal juga memilih perintah berbeda pada waktu yang berbeda. Contoh, program berikut memiliki tiga statement printf yang dapat menyebabkan munculnya behavior yang tidak terdefinisi.

// Ketiga statement printf()

// pada kode program bahasa C

// tersebut akan menyebabkan

// kondisi tak terduga pada

// nilai output program

#include <stdio.h> 

 

int main() 

volatile int a = 10

printf("\n %d %d", a, a++); 

 

a = 10

printf("\n %d %d", a++, a); 

 

a = 10

printf("\n %d %d %d ", a, a++, ++a); 

 

return 0

}


Namun demikian, tidak direkomendasikan untuk menggunakan dua atau lebih operator increment dalam satu statement.

Komentar

  1. Apa yang dimaksud dengan undefined behavior pada bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Dalam bahasa pemrograman komputer, perilaku tidak terdefinisi atau undefined behavior adalah hasil dari proses eksekusi program yang perilakunya tidak dapat dirediksi hasil keluarannya, dan tentunya tetap dalam spesifikasi bahasa yang dipatuhi oleh kode komputer.

      Hapus
    2. Sebenarnya perilati tidak terdefinisi atau perilaku keacakkan pada hasil keluaran output tersebut bukanlah sesuai yang bersifat random, tapi lebih pada spesifikasi dari mesin yang digunakan dalam mengeksekusi kode program tersebut.

      Karena tidak ada yang namanya perilaku tidak terdefinisi dari suatu bahasa pemrograman.

      Hapus
  2. Undefined behavior sebenarnya lebih pada kekurangan atau keterbatasan dari bahasa pemrograman tersebut untuk dapat menghubungkan antara maksud atau kemauan dari programmer terhadap kemampuan dari mesin.

    BalasHapus
  3. Jika sebuah mesin bisa berprilaku tidak terdefinisi diluar dari perintah program yang diberikan oleh programmer, maka bisa jadi algoritma yang tercipta tersebut adalah bentuk primitif dari kecerdasan mesin itu sendiri, yang menurut pemahaman saait ini masih mustahil.

    BalasHapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Enkapsulasi pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

4 Contoh Program Java dan Multiple Inheritance

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

3 Jenis Utama Looping pada Java