Created
July 15, 2023 16:19
-
-
Save cadojo/0204414f47b74a3b598ae4a9ec5d0023 to your computer and use it in GitHub Desktop.
Escaping Octal Numbers in C
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <stdio.h> | |
| /** | |
| * It looks like you can produce integers by escaping octal numbers. | |
| * What's happening when you exceed the bounds of an octal digit, i.e. | |
| * '\8' or '\9'? | |
| **/ | |
| int main(void) { | |
| printf("\\1 = %d\n", '\1'); | |
| printf("\\2 = %d\n", '\2'); | |
| printf("\\3 = %d\n", '\3'); | |
| printf("\\4 = %d\n", '\4'); | |
| printf("\\5 = %d\n", '\5'); | |
| printf("\\6 = %d\n", '\6'); | |
| printf("\\7 = %d\n", '\7'); | |
| printf("\\8 = %d\n", '\8'); | |
| printf("\\9 = %d\n", '\9'); | |
| printf("\\10 = %d\n", '\10'); | |
| printf("\\11 = %d\n", '\11'); | |
| printf("\\12 = %d\n", '\12'); | |
| printf("\\13 = %d\n", '\13'); | |
| printf("\\14 = %d\n", '\14'); | |
| printf("\\15 = %d\n", '\15'); | |
| printf("\\16 = %d\n", '\16'); | |
| printf("\\17 = %d\n", '\17'); | |
| printf("\\18 = %d\n", '\18'); | |
| printf("\\19 = %d\n", '\19'); | |
| printf("\\20 = %d\n", '\20'); | |
| printf("\\21 = %d\n", '\21'); | |
| printf("\\22 = %d\n", '\22'); | |
| printf("\\23 = %d\n", '\23'); | |
| printf("\\24 = %d\n", '\24'); | |
| printf("\\25 = %d\n", '\25'); | |
| printf("\\26 = %d\n", '\26'); | |
| printf("\\27 = %d\n", '\27'); | |
| printf("\\28 = %d\n", '\28'); | |
| printf("\\29 = %d\n", '\29'); | |
| printf("\\30 = %d\n", '\30'); | |
| printf("\\31 = %d\n", '\31'); | |
| printf("\\32 = %d\n", '\32'); | |
| printf("\\33 = %d\n", '\33'); | |
| printf("\\34 = %d\n", '\34'); | |
| printf("\\35 = %d\n", '\35'); | |
| printf("\\36 = %d\n", '\36'); | |
| printf("\\37 = %d\n", '\37'); | |
| printf("\\38 = %d\n", '\38'); | |
| printf("\\39 = %d\n", '\39'); | |
| printf("\\40 = %d\n", '\40'); | |
| printf("\\41 = %d\n", '\41'); | |
| printf("\\42 = %d\n", '\42'); | |
| printf("\\43 = %d\n", '\43'); | |
| printf("\\44 = %d\n", '\44'); | |
| printf("\\45 = %d\n", '\45'); | |
| printf("\\46 = %d\n", '\46'); | |
| printf("\\47 = %d\n", '\47'); | |
| printf("\\48 = %d\n", '\48'); | |
| printf("\\49 = %d\n", '\49'); | |
| printf("\\50 = %d\n", '\50'); | |
| printf("\\51 = %d\n", '\51'); | |
| printf("\\52 = %d\n", '\52'); | |
| printf("\\53 = %d\n", '\53'); | |
| printf("\\54 = %d\n", '\54'); | |
| printf("\\55 = %d\n", '\55'); | |
| printf("\\56 = %d\n", '\56'); | |
| printf("\\57 = %d\n", '\57'); | |
| printf("\\58 = %d\n", '\58'); | |
| printf("\\59 = %d\n", '\59'); | |
| printf("\\60 = %d\n", '\60'); | |
| printf("\\61 = %d\n", '\61'); | |
| printf("\\62 = %d\n", '\62'); | |
| printf("\\63 = %d\n", '\63'); | |
| printf("\\64 = %d\n", '\64'); | |
| printf("\\65 = %d\n", '\65'); | |
| printf("\\66 = %d\n", '\66'); | |
| printf("\\67 = %d\n", '\67'); | |
| printf("\\68 = %d\n", '\68'); | |
| printf("\\69 = %d\n", '\69'); | |
| printf("\\70 = %d\n", '\70'); | |
| printf("\\71 = %d\n", '\71'); | |
| printf("\\72 = %d\n", '\72'); | |
| printf("\\73 = %d\n", '\73'); | |
| printf("\\74 = %d\n", '\74'); | |
| printf("\\75 = %d\n", '\75'); | |
| printf("\\76 = %d\n", '\76'); | |
| printf("\\77 = %d\n", '\77'); | |
| printf("\\78 = %d\n", '\78'); | |
| printf("\\79 = %d\n", '\79'); | |
| printf("\\80 = %d\n", '\80'); | |
| printf("\\81 = %d\n", '\81'); | |
| printf("\\82 = %d\n", '\82'); | |
| printf("\\83 = %d\n", '\83'); | |
| printf("\\84 = %d\n", '\84'); | |
| printf("\\85 = %d\n", '\85'); | |
| printf("\\86 = %d\n", '\86'); | |
| printf("\\87 = %d\n", '\87'); | |
| printf("\\88 = %d\n", '\88'); | |
| printf("\\89 = %d\n", '\89'); | |
| printf("\\90 = %d\n", '\90'); | |
| printf("\\91 = %d\n", '\91'); | |
| printf("\\92 = %d\n", '\92'); | |
| printf("\\93 = %d\n", '\93'); | |
| printf("\\94 = %d\n", '\94'); | |
| printf("\\95 = %d\n", '\95'); | |
| printf("\\96 = %d\n", '\96'); | |
| printf("\\97 = %d\n", '\97'); | |
| printf("\\98 = %d\n", '\98'); | |
| printf("\\99 = %d\n", '\99'); | |
| printf("\\100 = %d\n", '\100'); | |
| printf("\\101 = %d\n", '\101'); | |
| printf("\\102 = %d\n", '\102'); | |
| printf("\\103 = %d\n", '\103'); | |
| printf("\\104 = %d\n", '\104'); | |
| printf("\\105 = %d\n", '\105'); | |
| printf("\\106 = %d\n", '\106'); | |
| printf("\\107 = %d\n", '\107'); | |
| printf("\\108 = %d\n", '\108'); | |
| printf("\\109 = %d\n", '\109'); | |
| printf("\\110 = %d\n", '\110'); | |
| printf("\\111 = %d\n", '\111'); | |
| printf("\\112 = %d\n", '\112'); | |
| printf("\\113 = %d\n", '\113'); | |
| printf("\\114 = %d\n", '\114'); | |
| printf("\\115 = %d\n", '\115'); | |
| printf("\\116 = %d\n", '\116'); | |
| printf("\\117 = %d\n", '\117'); | |
| printf("\\118 = %d\n", '\118'); | |
| printf("\\119 = %d\n", '\119'); | |
| printf("\\120 = %d\n", '\120'); | |
| printf("\\121 = %d\n", '\121'); | |
| printf("\\122 = %d\n", '\122'); | |
| printf("\\123 = %d\n", '\123'); | |
| printf("\\124 = %d\n", '\124'); | |
| printf("\\125 = %d\n", '\125'); | |
| printf("\\126 = %d\n", '\126'); | |
| printf("\\127 = %d\n", '\127'); | |
| printf("\\128 = %d\n", '\128'); | |
| printf("\\129 = %d\n", '\129'); | |
| printf("\\130 = %d\n", '\130'); | |
| printf("\\131 = %d\n", '\131'); | |
| printf("\\132 = %d\n", '\132'); | |
| printf("\\133 = %d\n", '\133'); | |
| printf("\\134 = %d\n", '\134'); | |
| printf("\\135 = %d\n", '\135'); | |
| printf("\\136 = %d\n", '\136'); | |
| printf("\\137 = %d\n", '\137'); | |
| printf("\\138 = %d\n", '\138'); | |
| printf("\\139 = %d\n", '\139'); | |
| printf("\\140 = %d\n", '\140'); | |
| printf("\\141 = %d\n", '\141'); | |
| printf("\\142 = %d\n", '\142'); | |
| printf("\\143 = %d\n", '\143'); | |
| printf("\\144 = %d\n", '\144'); | |
| printf("\\145 = %d\n", '\145'); | |
| printf("\\146 = %d\n", '\146'); | |
| printf("\\147 = %d\n", '\147'); | |
| printf("\\148 = %d\n", '\148'); | |
| printf("\\149 = %d\n", '\149'); | |
| printf("\\150 = %d\n", '\150'); | |
| printf("\\151 = %d\n", '\151'); | |
| printf("\\152 = %d\n", '\152'); | |
| printf("\\153 = %d\n", '\153'); | |
| printf("\\154 = %d\n", '\154'); | |
| printf("\\155 = %d\n", '\155'); | |
| printf("\\156 = %d\n", '\156'); | |
| printf("\\157 = %d\n", '\157'); | |
| printf("\\158 = %d\n", '\158'); | |
| printf("\\159 = %d\n", '\159'); | |
| printf("\\160 = %d\n", '\160'); | |
| printf("\\161 = %d\n", '\161'); | |
| printf("\\162 = %d\n", '\162'); | |
| printf("\\163 = %d\n", '\163'); | |
| printf("\\164 = %d\n", '\164'); | |
| printf("\\165 = %d\n", '\165'); | |
| printf("\\166 = %d\n", '\166'); | |
| printf("\\167 = %d\n", '\167'); | |
| printf("\\168 = %d\n", '\168'); | |
| printf("\\169 = %d\n", '\169'); | |
| printf("\\170 = %d\n", '\170'); | |
| printf("\\171 = %d\n", '\171'); | |
| printf("\\172 = %d\n", '\172'); | |
| printf("\\173 = %d\n", '\173'); | |
| printf("\\174 = %d\n", '\174'); | |
| printf("\\175 = %d\n", '\175'); | |
| printf("\\176 = %d\n", '\176'); | |
| printf("\\177 = %d\n", '\177'); | |
| printf("\\178 = %d\n", '\178'); | |
| printf("\\179 = %d\n", '\179'); | |
| printf("\\180 = %d\n", '\180'); | |
| printf("\\181 = %d\n", '\181'); | |
| printf("\\182 = %d\n", '\182'); | |
| printf("\\183 = %d\n", '\183'); | |
| printf("\\184 = %d\n", '\184'); | |
| printf("\\185 = %d\n", '\185'); | |
| printf("\\186 = %d\n", '\186'); | |
| printf("\\187 = %d\n", '\187'); | |
| printf("\\188 = %d\n", '\188'); | |
| printf("\\189 = %d\n", '\189'); | |
| printf("\\190 = %d\n", '\190'); | |
| printf("\\191 = %d\n", '\191'); | |
| printf("\\192 = %d\n", '\192'); | |
| printf("\\193 = %d\n", '\193'); | |
| printf("\\194 = %d\n", '\194'); | |
| printf("\\195 = %d\n", '\195'); | |
| printf("\\196 = %d\n", '\196'); | |
| printf("\\197 = %d\n", '\197'); | |
| printf("\\198 = %d\n", '\198'); | |
| printf("\\199 = %d\n", '\199'); | |
| printf("\\200 = %d\n", '\200'); | |
| printf("\\201 = %d\n", '\201'); | |
| printf("\\202 = %d\n", '\202'); | |
| printf("\\203 = %d\n", '\203'); | |
| printf("\\204 = %d\n", '\204'); | |
| printf("\\205 = %d\n", '\205'); | |
| printf("\\206 = %d\n", '\206'); | |
| printf("\\207 = %d\n", '\207'); | |
| printf("\\208 = %d\n", '\208'); | |
| printf("\\209 = %d\n", '\209'); | |
| printf("\\210 = %d\n", '\210'); | |
| printf("\\211 = %d\n", '\211'); | |
| printf("\\212 = %d\n", '\212'); | |
| printf("\\213 = %d\n", '\213'); | |
| printf("\\214 = %d\n", '\214'); | |
| printf("\\215 = %d\n", '\215'); | |
| printf("\\216 = %d\n", '\216'); | |
| printf("\\217 = %d\n", '\217'); | |
| printf("\\218 = %d\n", '\218'); | |
| printf("\\219 = %d\n", '\219'); | |
| printf("\\220 = %d\n", '\220'); | |
| printf("\\221 = %d\n", '\221'); | |
| printf("\\222 = %d\n", '\222'); | |
| printf("\\223 = %d\n", '\223'); | |
| printf("\\224 = %d\n", '\224'); | |
| printf("\\225 = %d\n", '\225'); | |
| printf("\\226 = %d\n", '\226'); | |
| printf("\\227 = %d\n", '\227'); | |
| printf("\\228 = %d\n", '\228'); | |
| printf("\\229 = %d\n", '\229'); | |
| printf("\\230 = %d\n", '\230'); | |
| printf("\\231 = %d\n", '\231'); | |
| printf("\\232 = %d\n", '\232'); | |
| printf("\\233 = %d\n", '\233'); | |
| printf("\\234 = %d\n", '\234'); | |
| printf("\\235 = %d\n", '\235'); | |
| printf("\\236 = %d\n", '\236'); | |
| printf("\\237 = %d\n", '\237'); | |
| printf("\\238 = %d\n", '\238'); | |
| printf("\\239 = %d\n", '\239'); | |
| printf("\\240 = %d\n", '\240'); | |
| printf("\\241 = %d\n", '\241'); | |
| printf("\\242 = %d\n", '\242'); | |
| printf("\\243 = %d\n", '\243'); | |
| printf("\\244 = %d\n", '\244'); | |
| printf("\\245 = %d\n", '\245'); | |
| printf("\\246 = %d\n", '\246'); | |
| printf("\\247 = %d\n", '\247'); | |
| printf("\\248 = %d\n", '\248'); | |
| printf("\\249 = %d\n", '\249'); | |
| printf("\\250 = %d\n", '\250'); | |
| printf("\\251 = %d\n", '\251'); | |
| printf("\\252 = %d\n", '\252'); | |
| printf("\\253 = %d\n", '\253'); | |
| printf("\\254 = %d\n", '\254'); | |
| printf("\\255 = %d\n", '\255'); | |
| return 0; | |
| } | |
| // \1 = 1 | |
| // \2 = 2 | |
| // \3 = 3 | |
| // \4 = 4 | |
| // \5 = 5 | |
| // \6 = 6 | |
| // \7 = 7 | |
| // \8 = 56 | |
| // \9 = 57 | |
| // \10 = 8 | |
| // \11 = 9 | |
| // \12 = 10 | |
| // \13 = 11 | |
| // \14 = 12 | |
| // \15 = 13 | |
| // \16 = 14 | |
| // \17 = 15 | |
| // \18 = 312 | |
| // \19 = 313 | |
| // \20 = 16 | |
| // \21 = 17 | |
| // \22 = 18 | |
| // \23 = 19 | |
| // \24 = 20 | |
| // \25 = 21 | |
| // \26 = 22 | |
| // \27 = 23 | |
| // \28 = 568 | |
| // \29 = 569 | |
| // \30 = 24 | |
| // \31 = 25 | |
| // \32 = 26 | |
| // \33 = 27 | |
| // \34 = 28 | |
| // \35 = 29 | |
| // \36 = 30 | |
| // \37 = 31 | |
| // \38 = 824 | |
| // \39 = 825 | |
| // \40 = 32 | |
| // \41 = 33 | |
| // \42 = 34 | |
| // \43 = 35 | |
| // \44 = 36 | |
| // \45 = 37 | |
| // \46 = 38 | |
| // \47 = 39 | |
| // \48 = 1080 | |
| // \49 = 1081 | |
| // \50 = 40 | |
| // \51 = 41 | |
| // \52 = 42 | |
| // \53 = 43 | |
| // \54 = 44 | |
| // \55 = 45 | |
| // \56 = 46 | |
| // \57 = 47 | |
| // \58 = 1336 | |
| // \59 = 1337 | |
| // \60 = 48 | |
| // \61 = 49 | |
| // \62 = 50 | |
| // \63 = 51 | |
| // \64 = 52 | |
| // \65 = 53 | |
| // \66 = 54 | |
| // \67 = 55 | |
| // \68 = 1592 | |
| // \69 = 1593 | |
| // \70 = 56 | |
| // \71 = 57 | |
| // \72 = 58 | |
| // \73 = 59 | |
| // \74 = 60 | |
| // \75 = 61 | |
| // \76 = 62 | |
| // \77 = 63 | |
| // \78 = 1848 | |
| // \79 = 1849 | |
| // \80 = 14384 | |
| // \81 = 14385 | |
| // \82 = 14386 | |
| // \83 = 14387 | |
| // \84 = 14388 | |
| // \85 = 14389 | |
| // \86 = 14390 | |
| // \87 = 14391 | |
| // \88 = 14392 | |
| // \89 = 14393 | |
| // \90 = 14640 | |
| // \91 = 14641 | |
| // \92 = 14642 | |
| // \93 = 14643 | |
| // \94 = 14644 | |
| // \95 = 14645 | |
| // \96 = 14646 | |
| // \97 = 14647 | |
| // \98 = 14648 | |
| // \99 = 14649 | |
| // \100 = 64 | |
| // \101 = 65 | |
| // \102 = 66 | |
| // \103 = 67 | |
| // \104 = 68 | |
| // \105 = 69 | |
| // \106 = 70 | |
| // \107 = 71 | |
| // \108 = 2104 | |
| // \109 = 2105 | |
| // \110 = 72 | |
| // \111 = 73 | |
| // \112 = 74 | |
| // \113 = 75 | |
| // \114 = 76 | |
| // \115 = 77 | |
| // \116 = 78 | |
| // \117 = 79 | |
| // \118 = 2360 | |
| // \119 = 2361 | |
| // \120 = 80 | |
| // \121 = 81 | |
| // \122 = 82 | |
| // \123 = 83 | |
| // \124 = 84 | |
| // \125 = 85 | |
| // \126 = 86 | |
| // \127 = 87 | |
| // \128 = 2616 | |
| // \129 = 2617 | |
| // \130 = 88 | |
| // \131 = 89 | |
| // \132 = 90 | |
| // \133 = 91 | |
| // \134 = 92 | |
| // \135 = 93 | |
| // \136 = 94 | |
| // \137 = 95 | |
| // \138 = 2872 | |
| // \139 = 2873 | |
| // \140 = 96 | |
| // \141 = 97 | |
| // \142 = 98 | |
| // \143 = 99 | |
| // \144 = 100 | |
| // \145 = 101 | |
| // \146 = 102 | |
| // \147 = 103 | |
| // \148 = 3128 | |
| // \149 = 3129 | |
| // \150 = 104 | |
| // \151 = 105 | |
| // \152 = 106 | |
| // \153 = 107 | |
| // \154 = 108 | |
| // \155 = 109 | |
| // \156 = 110 | |
| // \157 = 111 | |
| // \158 = 3384 | |
| // \159 = 3385 | |
| // \160 = 112 | |
| // \161 = 113 | |
| // \162 = 114 | |
| // \163 = 115 | |
| // \164 = 116 | |
| // \165 = 117 | |
| // \166 = 118 | |
| // \167 = 119 | |
| // \168 = 3640 | |
| // \169 = 3641 | |
| // \170 = 120 | |
| // \171 = 121 | |
| // \172 = 122 | |
| // \173 = 123 | |
| // \174 = 124 | |
| // \175 = 125 | |
| // \176 = 126 | |
| // \177 = 127 | |
| // \178 = 3896 | |
| // \179 = 3897 | |
| // \180 = 79920 | |
| // \181 = 79921 | |
| // \182 = 79922 | |
| // \183 = 79923 | |
| // \184 = 79924 | |
| // \185 = 79925 | |
| // \186 = 79926 | |
| // \187 = 79927 | |
| // \188 = 79928 | |
| // \189 = 79929 | |
| // \190 = 80176 | |
| // \191 = 80177 | |
| // \192 = 80178 | |
| // \193 = 80179 | |
| // \194 = 80180 | |
| // \195 = 80181 | |
| // \196 = 80182 | |
| // \197 = 80183 | |
| // \198 = 80184 | |
| // \199 = 80185 | |
| // \200 = -128 | |
| // \201 = -127 | |
| // \202 = -126 | |
| // \203 = -125 | |
| // \204 = -124 | |
| // \205 = -123 | |
| // \206 = -122 | |
| // \207 = -121 | |
| // \208 = 4152 | |
| // \209 = 4153 | |
| // \210 = -120 | |
| // \211 = -119 | |
| // \212 = -118 | |
| // \213 = -117 | |
| // \214 = -116 | |
| // \215 = -115 | |
| // \216 = -114 | |
| // \217 = -113 | |
| // \218 = 4408 | |
| // \219 = 4409 | |
| // \220 = -112 | |
| // \221 = -111 | |
| // \222 = -110 | |
| // \223 = -109 | |
| // \224 = -108 | |
| // \225 = -107 | |
| // \226 = -106 | |
| // \227 = -105 | |
| // \228 = 4664 | |
| // \229 = 4665 | |
| // \230 = -104 | |
| // \231 = -103 | |
| // \232 = -102 | |
| // \233 = -101 | |
| // \234 = -100 | |
| // \235 = -99 | |
| // \236 = -98 | |
| // \237 = -97 | |
| // \238 = 4920 | |
| // \239 = 4921 | |
| // \240 = -96 | |
| // \241 = -95 | |
| // \242 = -94 | |
| // \243 = -93 | |
| // \244 = -92 | |
| // \245 = -91 | |
| // \246 = -90 | |
| // \247 = -89 | |
| // \248 = 5176 | |
| // \249 = 5177 | |
| // \250 = -88 | |
| // \251 = -87 | |
| // \252 = -86 | |
| // \253 = -85 | |
| // \254 = -84 | |
| // \255 = -83 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment