fork download
  1. /* Experiment to find out what happens when prints's argument string contains \c, where c is some
  2. character not listed above. */
  3.  
  4. #include<stdio.h>
  5. int main(void)
  6. {
  7. printf("a:\a"); /* valid */
  8. printf("b:\b"); /* valid */
  9. printf("c:\c");
  10. printf("d:\d");
  11. printf("e:\e"); /* valid */
  12. printf("f:\f"); /* valid */
  13. printf("g:\g");
  14. printf("h:\h");
  15. printf("i:\i");
  16. printf("j:\j");
  17. printf("k:\k");
  18. printf("l:\l");
  19. printf("m:\m");
  20. printf("n:\n"); /* valid */
  21. printf("o:\o");
  22. printf("p:\p");
  23. printf("q:\q");
  24. printf("r:\r"); /* valid */
  25. printf("s:\s");
  26. printf("t:\t"); /* valid */
  27. /*
  28.   * \u below stands for unicode.
  29.   * warning: universal character names are only valid in C++ and C99
  30.   * without anything it will give the error incomplete universal character.
  31.   * we will give 2603 unicode codepoint which stands for snowman
  32.   */
  33. printf("u:\u2603"); /* valid */
  34. printf("v:\v"); /* valid */
  35. printf("w:\w");
  36. /* \x is for hexadecimals. It should be followed by valid hexadecimal.
  37.   * Lets give D as hexadecimal value */
  38. printf("x:\xD"); /* valid */
  39. printf("y:\y");
  40. printf("z:\z");
  41. printf("A:\A");
  42. printf("B:\B");
  43. printf("C:\C");
  44. printf("D:\D");
  45. printf("E:\E"); /* valid */
  46. printf("F:\F");
  47. printf("G:\G");
  48. printf("H:\H");
  49. printf("I:\I");
  50. printf("J:\J");
  51. printf("K:\K");
  52. printf("L:\L");
  53. printf("M:\M");
  54. printf("N:\N");
  55. printf("O:\O");
  56. printf("P:\P");
  57. printf("Q:\Q");
  58. printf("R:\R");
  59. printf("S:\S");
  60. printf("T:\R");
  61.  
  62. /*
  63.   * \U below stands for unicode.
  64.   * error: incomplete universal character name \U
  65.   * without anything it will give the error incomplete universal character.
  66.   * we will give 2603 unicode codepoint which stands for snowman
  67.   */
  68.  
  69. printf("U:\U00002603");
  70. printf("V:\V");
  71. printf("W:\W");
  72. printf("X:\X");
  73. printf("Y:\Y");
  74. printf("Z:\Z");
  75. printf("0:\0");
  76. printf("1:\1"); /* valid */+
  77. printf("2:\2"); /* valid */
  78. printf("3:\3"); /* valid */
  79. printf("4:\4"); /* valid */
  80. printf("5:\5"); /* valid */
  81. printf("6:\6"); /* valid */
  82. printf("7:\7"); /* valid */
  83. printf("8:\8");
  84. printf("9:\9");
  85. printf("~:\~");
  86. printf("`:\`");
  87. printf("!:\!");
  88. printf("@:\@");
  89. printf("#:\#");
  90. printf("$:\$");
  91. printf("%:\%"); /* warning: unknown conversion type character in : in format. Spurious trailing % in format */
  92. printf("^:\^"); /* warning: unknown escape sequence \^ */
  93. printf("&:\&");
  94. printf("*:\*");
  95. printf("(:\("); /* valid */
  96. printf("):\)");
  97. printf("_:\_");
  98. printf("-:\-");
  99. printf("+:\+");
  100. printf("{:\{"); /* valid */
  101. printf("[:\["); /* valid */
  102. printf("}:\}");
  103. printf("]:\]");
  104. printf("|:\|");
  105. printf("\:\\");
  106. printf("a:\a"); /* valid */
  107. printf("::\:");
  108. printf(";:\;");
  109. /* escape the double-quotes */
  110. printf("\":\""); /* valid */
  111. printf("':\'"); /* valid */
  112. printf("<:\<");
  113. printf(",:\,");
  114. printf(">:\>");
  115. printf(".:\.");
  116. printf("?:\?"); /* valid */
  117. printf("/:\/");
  118. }
  119.  
  120.  
Success #stdin #stdout 0s 2112KB
stdin
a
stdout
a:b:c:cd:de:f:g:gh:hi:ij:jk:kl:lm:mn:
o:op:pq:qr:
s:st:	u:☃v:w:wx:
y:yz:zA:AB:BC:CD:DE:F:FG:GH:HI:IJ:JK:KL:LM:MN:NO:OP:PQ:QR:RS:ST:RU:☃V:VW:WX:XY:YZ:Z0:1:2:3:4:5:6:7:8:89:9~:~`:`!:!@:@#:#$:$%:%^:^&:&*:*(:():)_:_-:-+:+{:{[:[}:}]:]|:|:\a::::;:;":"':'<:<,:,>:>.:.?:?/:/