Perintah input standard pada C / C++ yaitu scanf, sedangkan perintah output standard pada C / C++ yaitu printf. Perhatikan contoh berikut.

#include <stdio.h>

int main(){
  int a, b;

  printf("Masukan dua buah angka: ");
  scanf("%d %d", &a, &b);

  printf("%d - %d = %d\n", a, b, a-b);

  return 0;
}

Fungsi scanf merupakan kebalikan dari printf. Printf berfungsi untuk mengoutputkan data ke layar sedangkan, scanf membaca data dari keyboard. Dengan adanya penggunanaan scanf pada program, maka program tersebut akan menunggu user untuk menginputkan data.

%d memberi keterangan pada fungsi scanf bahwa data yang dibaca dari keyboard adalah bertipe integer. Karena %d ditulis dua kali berarti data integer yang dibaca ada dua kali. Nilai integer yang pertama dibaca disimpan di variabel A, nilai berikutnya akan disimpan di variabel B.

Spasi diantara duah buah %d pada “%d %d” merupakan hal yang sangat kritikal. Gunanya spasi tersebut adalah memberi keterangan kepada fungsi scanf bahwa 2 nilai yang dibaca dari keyboard dipisahkan oleh spasi. Jika diganti dengan “%d,%d” maka 2 buah nilai yang dibaca dipisahkan dengan koma.

Pada fungsi printf, kita masih menemukan %d. Hampir sama dengan scanf, %d disini memberi keterangan pada fungsi printf bahwa data yang dioutput ke layar adalah bertipe integer.

& merupakan karakter yang sangat penting digunakan pada fungsi scanf. Penggunaan karakter & akan memperbolehkan kita untuk mengubah nilai suatu variabel, misalnya:

scanf("%d", &j)

Karakter & di fungsi scanf pada contoh tersebut akan memperbolehkan compiler C untuk mengubah nilai variabel j sesuai dengan nilai yang diinputkan. Sebaliknya, jika karakter & tidak dituliskan, maka nilai variabel j tidak akan berubah.

Karena fungsi printf tidak mengubah nilai, maka tidak perlu ada penggunaan karakter & pada fungsi printf.