Karakter Escape Sequence

http://johanandyagasi.blogspot.com/2014/11/karakter-escape-sequence.html


Karakter backslash (\) digunakan untuk memperkenalkan sebuah escape sequence, yang memungkinkan representasi visual karakter nongraphic tertentu. Sebagai contoh, konstanta \n digunakan untuk karakter pindah baris (baris baru). Sebuah backslash digunakan dengan bilangan oktal atau heksadesimal untuk mewakili simbol ASCII atau kode kontrol yang sesuai dengan nilai tersebut, misalnya, '\03' untuk Ctrl-C atau '\x3F' untuk tanda tanya. Anda dapat menggunakan string sampai tiga oktal atau sebarang angka heksadesimal dalam escape sequence, asalkan nilai berada dalam jangkauan yang sah untuk tipe data char (0 sampai 0xFF untuk Borland C++). 

Angka yang lebih besar menghasilkan kesalahan Compiler Numeric Constant terlalu besar. Sebagai contoh, nomor oktal \777 lebih besar dari nilai maksimum yang diizinkan (\377) dan akan menghasilkan error. Karakter pertama nonoctal atau nonhexadecimal yang bertemu dalam sebuah oktal atau heksadesimal escape sequence menandakan akhir dari sequence.

Awalnya, Turbo C hanya memperbolehkan tiga angka pada escape sequence heksadesimal. Aturan ANSI C yang diterapkan dalam Borland C++ mungkin menyebabkan masalah dengan kode lama yang mengasumsikan hanya tiga karakter pertama yang akan dijabarkan. Sebagai contoh, menggunakan Turbo C 1.

printf ("\x0072.1A Wikipedia Operating System");
 
Maksud dari code tersebut agar diterjemahkan sebagai "\x007"dan "2.1A Wikipedia Sistem Operasi".
Namun, Borland C++ mengkompilasi sebagai angka heksadesimal \x0072 dan string literal "Wikipedia 2.1A Sistem Operasi". Untuk menghindari masalah tersebut, kode diatas ditulis ulang menjadi:

printf ("\x007" "2.1A Wikipedia Sistem Operasi");
 
Ambiguitas juga mungkin timbul jika sebuah escape sequence oktal diikuti oleh digit nonoctal. Misalnya, karena 8 dan 9 bukan merupakan digit oktal yang sah, konstanta \258 akan diartikan sebagai dua karakter konstanta yang terdiri dari karakter \25 dan 8.
Tabel berikut menunjukkan escape sequence yang ada dalam Borland C++.
SequenceValue CharArti
\a0x07BELAudible bell
\b0x08BSBackspace
\f0x0CFFFormfeed
\n0x0ALFNewline (linefeed)
\r0x0DCRCarriage return
\t0x09HTTab (horizontal)
\v0x0BVTVertical tab
\\0x5c\Backslash
\'0x27'Single quote (apostrophe)
\"0x22"Double quote
\?0x3F?Question mark
\O
anyO=a string of up to three octal digits
\xH
anyH=a string of hex digits
\XH
anyH=a string of hex digits

Contoh program :

#include <conio.h>
#include <stdio.h>
void main()
{   clrscr(); // Hapus Layar
    printf("Ini akan dicetak pada baris pertama \t");
    printf("Ini juga akan dicetak pada baris pertama \n");
    printf("Ini akan dicetak pada baris kedua\n");
    printf("\'Tulisan ini diapit tanda petik tunggal\'\n");
    printf("\"Tulisan ini diapit tanda petik ganda\"");
    getch();
}
0 Komentar untuk " Karakter Escape Sequence "