C'de "??" işaretlerinin anlamı

Katılım
13 Eylül 2021
Mesajlar
55
C'de ??x işaretleri aslında klavyede karşılığı olan karakterin bulunmaması durumunda kullanılsa da bilmekte fayda vardır.

Sol tarafta işaret, sağ tarafta anlamı.
[CODE title="??x"]??= #
??( [
??/ \
??) ]
??' ^
??< {
??! |
??> }
??- ~[/CODE]

Not: Gcc derleyicisinde bu işaretleri kullanmak için "-trigraphs" parametresini kullanmak gerekir.

Örnek:
[CODE lang="c" title="deneme.c"]??=include <stdio.h>

int main(int argc char *argv??(??) )
??<
printf("Devam??(e??/??/h");
??>
[/CODE]

Derlemek için:
[CODE title="Terminal"]gcc -trigraphs deneme.c
./a.out[/CODE]

Kodun çıktısı:
Kod:
Devam[e\h)
 
Bazı dillerin klavyelerinde o karakterlerin olmaması yüzünden var bu olay. Türkçe ve İngilizece olduğu için bilmekte fayda yok aslında.
Hatta C++17'de paylaştığınız C standardı kaldırıldı.
Metin şeklinde olanları daha çok sevsem de (sadece and, or ve xor için geçerli) kod yazarken yavaşlatıyor. Kod bitince topluca çeviriyorum genelde.

 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…