Select the correct output for the below C code?#include <stdio.h>void main() { int a = 0; { int a = 10; printf("%d",a); a++; { a = 20; } { printf(" %d",a); int a = 30; { a++; } printf(" %d",a++); } printf(" %d",a++); } printf(" %d",a);}Options10 11 30 11 010 20 31 20 010 20 30 20 0Compilation error
Question
Select the correct output for the below C code?#include <stdio.h>void main() { int a = 0; { int a = 10; printf("%d",a); a++; { a = 20; } { printf(" %d",a); int a = 30; { a++; } printf(" %d",a++); } printf(" %d",a++); } printf(" %d",a);}Options10 11 30 11 010 20 31 20 010 20 30 20 0Compilation error
Solution
The correct output for the given C code is 10 20 31 20 0.
Here's the step by step explanation:
-
The variable 'a' is declared and initialized to 0 in the outermost block.
-
In the first inner block, a new 'a' is declared and initialized to 10. This 'a' is printed, so the output is 10.
-
The value of 'a' is incremented to 11, then it is reassigned to 20 in the next inner block.
-
In the next inner block, 20 is printed, then a new 'a' is declared and initialized to 30.
-
The value of 'a' is incremented to 31 in the next inner block, then 31 is printed and 'a' is incremented to 32.
-
However, after this block ends, the scope of this 'a' ends and we go back to the 'a' that was 20. So, 20 is printed and 'a' is incremented to 21.
-
After the first inner block ends, we go back to the 'a' in the outermost block, which is still 0. So, 0 is printed.
So, the final output is 10 20 31 20 0.
Similar Questions
What will be the output of the following C code?
what will be the output of the c program?
Select the correct output for the below C code?#include <stdio.h>void main() { int a = 0; { int a = 10; printf("%d",a); a++; { a = 20; } { printf(" %d",a); int a = 30; { a++; } printf(" %d",a++); } printf(" %d",a++); } printf(" %d",a);}Options10 11 30 11 010 20 31 20 010 20 30 20 0Compilation error
What will be the output of the following C program?#include<stdio.h>int main(){char c;c = 'A';printf("%c",c);return 0;}Select one:65Aac
Select the correct answerWhat will be the output of the given code snippet?#include <stdio.h>int Function(char *S) { if (S == NULL || *S ==' ') return 0; int C = 1, i = 1; while (*(S+C)) { if (S[C] != S[C-1]) { S[i] = S[C]; i++; } C++; } *(S+i)=' '; return i;} int main() { char S[] = "codetantraC"; Function(S); puts(S); return 0;}OptionsCompile Time ErrorPrints "CodetantraC"Prints "codetantraC"Runtime ErrorPrints "codetantrac"Prints "Codetantrac"
Upgrade your grade with Knowee
Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.