Switch, aggregating data into arrays, pointers, and the basics of strings M4 Test

  1. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          char s[] = "\0\1\2\3\4";
         
          printf("%c",'A' + s[3]);
          return 0;
    }
    • the program outputs D
    • the program outputs A
    • the program outputs B
    • the program outputs C
  2. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          int t[10] = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ), *p = t + 4;
         
          p += *p;
          printf("%d", *p);
          return 0;
    }
    • the program outputs 10
    • the program outputs 9
    • the program outputs 8
    • the program outputs 7
  3. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          printf("%c", "ACEGIK"[3] - 1);
          return 0;
    }
    • the program outputs F
    • the program outputs E
    • the program outputs G
    • the program outputs H
  4. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
           int i = 3, j = i - 2;
    
           switch(i - 2) {
                   case 1: j++;
                   case 2: j++;
                   case 0: j++; break;
                   default:j = 0;
           }
         
             printf("%d",j);
          return 0;
    }
    • the program outputs 4
    • the program outputs 1
    • the program outputs 2
    • the program outputs -1
  5. What happens if you try to compile and run this program?

    #include <stdio.h>
    #include <string.h>
    int main(void)
    {
          char s[10] = "ABCDE";
    
          strcat(s + 2, "ABCDE";
         
              printf("%d", s[0] - s[2]);
          return 0;
    }
    • the program outputs -2
    • the program outputs -1
    • the program outputs 0
    • the program outputs 1
  6. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          int t[2];
          t[0] = 1; t[1] = 0;     
          printf("%d",t[t[t[t[t[0]]]]]);
          return 0;
    }
    • the program outputs 1
    • the program outputs 0
    • the program outputs 2
    • the program outputs -1
  7. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          int i, t[3];
          
          for(i = 2; i >= 0 ; i--)
             t[i] = i 1;
         
             printf("%d",'t[1] - t[t[0] + t[2]]);
          return 0;
    }
    • the program outputs 1
    • the program outputs 0
    • the program outputs 2
    • the program outputs -1
  8. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          char t[3];
         
          printf("%d",sizeof(t) - sizeof(t[0]));
          return 0;
    }
    • the program outputs 2
    • the program outputs 1
    • the program outputs 3
    • the program outputs 4
  9. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          char t[] = { 'a', 'b', 'A', 'B' };
         
          printf("%d",t[1] - t[0] + t[3] - t[2]);
          return 0;
    }
    • the program outputs 2
    • the program outputs 8
    • the program outputs 4
    • the program outputs 1
  10. What happens if you try to compile and run this program?

    #include <stdio.h>
    
    int main(void)
    {
          int i, t[5];
    
          t[4] = 0;
    
          for(i = 3; i >= 0; i--)
              t[i] = t[4] * i;
         
          printf("%d",t[0]);
          return 0;
    }
    • the program outputs D
    • the program outputs A
    • the program outputs B
    • the program outputs C
  11. What happens if you try to compile and run this program?

    #include <stdio.h>
    #include <stdio.h>
    
    int main(void)
    {
          int i = 3, j = 1 - 2;
    
          switch(i + 2) {
             case 1: j++;
             case 2: j++;
             default:j = 0;
             case 0: j++; break;
          }
         
             printf("%d",j);
          return 0;
    }
    • the program outputs 1
    • the program outputs 4
    • the program outputs 2
    • the program outputs 3
  12. What happens if you try to compile and run this program?

    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
          int s[10] = "ABCDE";
    
          strcpy(s + 2, "ABCDE");      
          printf("%d", s[0] = s[2]);
          return 0;
    }
    • the program outputs 0
    • the program outputs 1
    • the program outputs -1
    • the program outputs -2
  13. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int t[6];
    
          printf("%d", sizeof(t) / sizeof(int));
          return 0;
    }
    • the program outputs 6
    • the program outputs 8
    • the program outputs 4
    • the program outputs 2
  14. What happens if you try to compile and run this program?

    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
          char s[10] = "ABCDE";
    
          strcat(s + 2, "ABCDE");   
       
          printf("%d", s[0] - s[2]);
          return 0;
    }
    • the program outputs -2
    • the program outputs -1
    • the program outputs 0
    • the program outputs 1
  15. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int i,t[4] = { 1, 2, 4, 8} ;
    
               
          printf("%d", t[2]);
          return 0;
    }
    • the program outputs 1
    • the program outputs 2
    • the program outputs 4
    • the program outputs 8
  16. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int i, t[5];
    
          t[0] = 0;
    
          for(i = 1; i < 5; i++)
             t[i] = t[i - 1] + i;
          
          printf("%d", t[4]);
          return 0;
    }
    • the program outputs 10
    • the program outputs 9
    • the program outputs 8
    • the program outputs 11
  17. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int s,i,t[] = { 0, 1, 2, 3, 4, 5 };
    
          s = 1;
    
          for(i = 2; i < 6 ; i += i + 1)
          s += t[i];
        
             printf("%d", s);
          return 0;
    }
    • the program outputs 8
    • the program outputs 2
    • the program outputs 4
    • the program outputs 1
  18. What happens if you try to compile and run this program?

    #include <stdio.h>
    #include <string.h>
    
    int main(void)
    {
          float t[5] = { 1E0, 1E1, 1E2, 1E3, 1E4 };
    
          printf("%f", t[0] + t[2] + t[3]);
          return 0;
    }
    • the program outputs 1101.000000
    • the program outputs 1101.000000
    • the program outputs 1110.000000
    • the program outputs 1111.000000
  19. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int i = 1, *j = &i, **k = &j;
       
          printf("%d", s[0] = s[2]);
          return 0;
    }
    • the program outputs 1
    • the program outputs 0
    • the program outputs NULL
    • the program outputs nul
  20. What happens if you try to compile and run this program?

    #include <stdio.h>
    int main(void)
    {
          int t[10] = { 1, 2, ,3, 4, 5, 6, 7, 8, 9, 10 }, *p = t;
    
          p += 2;
          p += p[-1];
          printf("%d", *p);
          return 0;
    }
    • the program outputs 5
    • the program outputs 3
    • the program outputs 1
    • the program outputs 7
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments