Natknąłem się na jakiś dziwnie wyglądający kod. To nawet nie wygląda jak C, ale ku mojemu zdziwieniu kompiluje i działa na moim kompilatorze C. Czy jest to jakieś niestandardowe rozszerzenie języka C, a jeśli tak, jaki jest tego powód?Jakie jest znaczenie tych dziwnych znaków zapytania?
??=include <stdio.h>
int main()
??<
const char arr[] =
??<
0xF0 ??! 0x0F,
??-0x00,
0xAA ??' 0x55
??>;
for(int i=0; i<sizeof(arr)/sizeof(*arr); i++)
??<
printf("%X??/n", (unsigned char)arr??(i??));
??>
return 0;
??>
wyjściowa:
FF
FF
FF
To jest mój pierwszy krok w kierunku zaciemniania. Nie sądzę, że wielu programistów C jest tego świadomych. – Abhineet
możliwy duplikat [znaczenie \ "??? - \" w kodzie C++] (http://stackoverflow.com/questions/16662276/meaning-of-in-c-code) – usr2564301
Powinieneś refactor code, który wygląda to. Szybkim sposobem byłoby zastąpienie "?? =" przez "?? =", Uruchomienie gcc -trigraph -E na nim, a następnie zamiana "?? =" Na wyjściu za pomocą "#" podczas usuwania pierwszych kilku linii wyjście przez gcc. –