fork download
  1. #include <stdio.h>
  2.  
  3. int main( void )
  4. {
  5. if ( int a = 1 )
  6. {
  7. /* error
  8.   int a = 2;
  9.   */
  10. printf( "a = %d\n", a );
  11. }
  12. /* error
  13.   printf( "a = %d\n", a );
  14.   */
  15.  
  16. for ( int i=0; i<1; ++i )
  17. {
  18. /* error
  19.   int i = 10;
  20.   */
  21. printf( "i = %d\n", i );
  22. }
  23. /* error
  24.   printf( "i = %d\n", i );
  25.   */
  26.  
  27. while ( bool b = false )
  28. {
  29. /* error
  30.   bool b = true;
  31.   */
  32. printf( "b = %s\n", b ? "true" : "false" );
  33. }
  34. /* error
  35.   printf( "b = %s\n", b ? "true" : "false" );
  36.   */
  37.  
  38. /* error
  39.   do
  40.   {
  41.   printf( "b = %s\n", b ? "true" : "false" );
  42.   } while ( bool b = false );
  43.   */
  44. /* error
  45.   do
  46.   {
  47.   bool b = false;
  48.   printf( "b = %s\n", b ? "true" : "false" );
  49.   } while ( b );
  50.   */
  51. {
  52. bool b = false;
  53. do
  54. {
  55. bool b = true;
  56. printf( "b = %s\n", b ? "true" : "false" );
  57. } while ( b ); // b == false
  58. }
  59. {
  60. switch ( int c = 99 )
  61. {
  62. case 99: // fall
  63. case 0: { printf( "c = %d ; ", c ); int c = 0; printf( "c = %d\n", c ); } // fall
  64. case 1: { printf( "c = %d ; ", c ); int c = 1; printf( "c = %d\n", c ); } // fall
  65. case 2: { printf( "c = %d ; ", c ); int c = 2; printf( "c = %d\n", c ); } // fall
  66. }
  67. /* error
  68.   printf( "c = %d\n", c );
  69.   */
  70. }
  71. {
  72. switch ( int c = 99 )
  73. {
  74. case 99: // fall
  75. case 0: printf( "c = %d ; ", c ); /*error int c = 0;*/ printf( "c = %d\n", c ); // fall
  76. case 1: printf( "c = %d ; ", c ); /*error int c = 1;*/ printf( "c = %d\n", c ); // fall
  77. case 2: printf( "c = %d ; ", c ); /*error int c = 2;*/ printf( "c = %d\n", c ); // fall
  78. }
  79. }
  80. {
  81. switch ( int c = 99 )
  82. {
  83. case 99: // fall
  84. case 0: { printf( "c = %d ; ", c ); int c = 0; printf( "c = %d\n", c ); } // fall
  85. case 1: printf( "c = %d ; ", c ); /*error int c = 1;*/ printf( "c = %d\n", c ); // fall
  86. case 2: printf( "c = %d ; ", c ); /*error int c = 2;*/ printf( "c = %d\n", c ); // fall
  87. }
  88. }
  89. {
  90. /* error
  91.   int c = 2;
  92.   switch ( c )
  93.   {
  94.   case 1: { int c2 = 77; // fall
  95.   case 2: printf( "c2 = %d ; ", c2 ); }
  96.   }
  97.   */
  98. int c = 2;
  99. switch ( c )
  100. {
  101. case 1: { // fall
  102. case 2: printf( "c = %d ; ", c ); }
  103. }
  104. switch ( int c = 99 )
  105. {
  106. {
  107. case 1: // fall
  108. case 2: printf( "c = %d ; ", c );
  109. }
  110. }
  111. }
  112. return 0;
  113. }
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
a = 1
i = 0
b = true
c = 99 ; c = 0
c = 99 ; c = 1
c = 99 ; c = 2
c = 99 ; c = 99
c = 99 ; c = 99
c = 99 ; c = 99
c = 99 ; c = 0
c = 99 ; c = 99
c = 99 ; c = 99
c = 2 ;