<Π’Π΅ΠΊΡΡ> ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π°Π±ΠΎΡ Π»Π΅ΠΊΡΠ΅ΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ΄Π΅Π»ΡΡΡ <ΡΠ΅ΠΊΡΡ> ΠΎΡ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°> (ΠΈΠ»ΠΈ ΠΎΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²). ΠΡΠ»ΠΈ ΡΠ΅ΠΊΡΡ Π½Π΅ ΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅, ΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅; Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π°Π±ΡΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ ΠΈ ΡΡΠ°Π·Ρ Π·Π° Π½ΠΈΠΌ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ENTER.
<Π’Π΅ΠΊΡΡ> ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΡΠ΅Π½. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°> Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°ΠΌ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ> ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #if Π΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1 (ΡΠΌΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π» 7.4.1).
<Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²>, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π·Π°Π΄Π°Π½, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π·Π°Π΄Π°Π½Ρ. Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ. ΠΠΌΠ΅Π½Π° ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² <ΡΠ΅ΠΊΡΡΠ΅> ΠΎΡΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π°. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π² <ΡΠ΅ΠΊΡΡΠ΅> ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·.
Π ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π΅ ΡΠ»Π΅Π΄ΠΎΠΌ Π·Π° <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ> Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΠΈΠ· <ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²>. <Π’Π΅ΠΊΡΡ> ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. Π‘ΠΏΠΈΡΠΊΠΈ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π½ΠΎΡΠΈΡ ΡΠΈΡΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ. ΠΠΈΠΊΠ°ΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΠΏΠ° ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ.
ΠΡΡΠ΅ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΡΠ»ΠΈ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ, ΡΠΎ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π°, Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌ.
ΠΠ½ΡΡΡΡ <ΡΠ΅ΠΊΡΡΠ°> Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #define ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Ρ ΠΈΠΌΠ΅Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈΡΡ ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°> ΡΡΠΎΠ³ΠΎ <ΡΠ΅ΠΊΡΡΠ°>, Π° Π½Π΅ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #define. ΠΡΠΎ Π½Π°Π΄ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #undef: ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΆΠ΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #undef.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²Π½ΠΎΠ²Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΡΡΠ³ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ. ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΠΈΠΌΡ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
#define Ρ Ρ
Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΡ.
/* ΠΏΡΠΈΠΌΠ΅Ρ 1 */
#define WIDTH 80
#define LENGTH (WIDTH + 10)
/* ΠΏΡΠΈΠΌΠ΅Ρ 2 */
#define FILEMESSAGE "ΠΠΎΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ»\
Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ ΠΈΠ·-Π·Π° Π½Π΅Ρ Π²Π°ΡΠΊΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°"
/* ΠΏΡΠΈΠΌΠ΅Ρ 3 */
#define REG1 register
#define REG2 register
#define REG3
/* ΠΏΡΠΈΠΌΠ΅Ρ 4 */
#define MAX(x, y)((x)>(Ρ)) ? (x) : (Ρ)
/* ΠΏΡΠΈΠΌΠ΅Ρ 5 */
#define MULT(a, b) ((a)*(b))
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ WIDTH ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π»Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ 80, Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ LENGTH β ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ (WIDTH + 10). ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° LENGTH Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΡΠ΅ΠΊΡΡ (WIDTH + 10), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° WIDTH ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (80 + 10). Π‘ΠΊΠΎΠ±ΠΊΠΈ, ΠΎΠΊΡΡΠΆΠ°ΡΡΠΈΠ΅ ΡΠ΅ΠΊΡΡ (WIDTH + 10), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ:
var = LENGTH * 20;
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΠ΄:
var = (80 + 10)* 20;
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ var, ΡΠ°Π²Π½ΠΎ 1800. Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ Π² ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠΌΠ΅Π» Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
var = 80 + 10*20;
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ var ΡΠ°Π²Π½ΡΠ»ΠΎΡΡ Π±Ρ 280, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ FILEMESSAGE. ΠΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π½Π° Π²ΡΠΎΡΡΡ ΡΡΡΠΎΠΊΡ ΠΏΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ ENTER.
Π ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, REG1, REG2, REG3. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ REG1 ΠΈ REG2 ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° register. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ REG3 ΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π»ΡΠ±ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ REG3 Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π ΡΠ°Π·Π΄Π΅Π»Π΅ 7.4.1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ°ΠΌΡΡΠΈ register Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΠΠ₯. ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΠΠ₯ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ((x)>(Ρ))?(x):(Ρ), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Ρ ΠΈ Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²
ΠΠΠ₯(1,2)
Π·Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
((1)>(2))?(1):(2)
Π° ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²
MAX(i, s[i])
Π·Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
((i)>(s(i]))?(i):(s(i])
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΡΡΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Ρ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²
MAX(i, s[i++])
Π·Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
((i)>(s[i++]))?(i):(s[i++])
ΠΠΏΠ΅ΡΠ°Π½Π΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ > ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½Ρ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π²Π°ΠΆΠ΄Ρ, ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π ΠΏΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ MULT. ΠΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ² MULT(3,5) Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° (3)*(5). ΠΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²
MULT(3+4,5+6)
Π·Π°ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π° (3+4)*(5+6), ΡΡΠΎ ΡΠ°Π²Π½ΡΠ΅ΡΡΡ 76. Π ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ 3+4*5+6 Π±ΡΠ» Π±Ρ ΡΠ°Π²Π΅Π½ 29.
Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° Π»Π΅ΠΊΡΠ΅ΠΌ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ
Π‘Π Π’Π‘ ΠΈ Π²Π΅ΡΡΠΈΡ 5.0 Π‘Π MSC ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π΄Π²Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ## ΠΈ #.
Π Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ #define Π΄Π²Π΅ Π»Π΅ΠΊΡΠ΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ "ΡΠΊΠ»Π΅Π΅Π½Ρ" Π²ΠΌΠ΅ΡΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ## (ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π° ΠΎΡ ## Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΠΏΡΠΎΠ±Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ). ΠΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ Π»Π΅ΠΊΡΠ΅ΠΌΡ Π² ΠΎΠ΄Π½Ρ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
#define VAR (i, j) i##j
ΠΏΡΠΈ ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π΅ VAR(Ρ ,6) ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Ρ 6. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Ρ /**/6, Π½ΠΎ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ.
Π‘ΠΈΠΌΠ²ΠΎΠ» #, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌΡΠΉ ΠΏΠ΅ΡΠ΅Π΄ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠΈ ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ #<ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ> Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° "<ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ>".
ΠΡΠΈΠΌΠ΅Ρ: ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ TRACE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ printf Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΠΏΠ° int Π² ΡΠΎΡΠΌΠ°ΡΠ΅ <ΠΈΠΌΡ> = <Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>.
#define TRACE(flag) printf (#flag " = %d\n", flag)
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
highval = 1024;
TRACE (highval);
ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ Π²ΠΈΠ΄:
highval = 1024;
printf("highval" " = %d\n", highval);
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΡΠ·ΡΠΊΠ° Π‘ΠΈ Π² Π‘Π MSC Π²Π΅ΡΡΠΈΠΈ 5 ΠΈ Π² Π‘Π Π’Π‘ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΡΡΡΠΎΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ:
highval = 1024;
printf("highval = %d\n", highval);
ΠΡΠΈ ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π΅ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ°ΠΊΡΠΎΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΠΊΡΠΎΠ²ΡΠ·ΠΎΠ²Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² ΡΠ΅Π»ΠΎ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ "ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°":
main()
{
#define ΠΠ "ΡΡΠ°Π½Π΄Π°ΡΡ"
#define Π "ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅"
#define Π "ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°"
#define CONCAT(P,Q) Π ##Q
printf(CONCAT(A,Π) "\n");
}
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #undef
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
#undef <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #undef ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ #define Π΄Π»Ρ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°>. Π§ΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ°ΠΊΡΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #undef, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΅Π³ΠΎ <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>. ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #undef ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½Π΅Π΅ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ (ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅Π½Π΅Π½ΠΎ). ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° #undef ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΡΠ΅ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #define, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.