What will be the output of the following code?12345678910#include <stdio.h> int main() { int x = 10; int *ptr1 = &x; int *ptr2 = ptr1; (*ptr2)++; printf("%d %d", *ptr1, *ptr2); return 0;}
Question
What will be the output of the following code?12345678910#include <stdio.h> int main() { int x = 10; int *ptr1 = &x; int *ptr2 = ptr1; (*ptr2)++; printf("%d %d", *ptr1, *ptr2); return 0;}
Solution
The output of the code will be "11 11".
Here's the step by step explanation:
-
An integer variable
xis declared and initialized with the value10. -
A pointer
ptr1is declared and it is initialized with the address ofx. So,ptr1is pointing tox. -
Another pointer
ptr2is declared and it is initialized with the value ofptr1. So,ptr2is also pointing tox. -
The value at the address pointed by
ptr2is incremented by 1. Sinceptr2is pointing tox, the value ofxbecomes11. -
The
printffunction prints the value at the address pointed byptr1andptr2. Since bothptr1andptr2are pointing tox, and the value ofxis11, it prints "11 11".
Similar Questions
What will be the output of the following code?
What will be the output of the following program?1234567891011121314151617181920#include <stdio.h>void one();void two();void one() { for(int i = 0; i < 2; i++){ two(); }}void two() { printf("TWO ");}int main(){ one(); two(); return 0;}
What will print out when the following code runs?
What is the output for the following code?123456789#include <stdio.h>int main(){ char ch = '1'; for (ch = '5'; ch <= '8'; ch++) putchar(ch); return (0);}
What is the output for the following code?12345678910111213#include <stdio.h> int main() { int i = 1; while (i <= 10) { if (i % 5 == 0) { i++; continue; } printf("%d ", i); i++; } return 0; }
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.