A C Puzzle
Last Updated :
21 Jun, 2018
What code to write in place of “// your code” so that the below code prints 20.
#include <stdio.h>
int f();
int main()
{
int a = 0;
f();
printf ( "%d" ,a);
return 0;
}
int f()
{
}
|
Output:
20
We strongly recommend you to minimize your browser and try this yourself first
This question seems to be a trick question, as it is not possible to update local variable in a function without sending it, we can’t make value of ‘a’ as 20 but for outputting 20 we can write function f as below –
#include <stdio.h>
int f();
int main()
{
int a = 0;
f();
printf ( "%d" ,a);
return 0;
}
int f()
{
printf ( "2" );
}
|
2 will be printed by f() and 0 will be printed by a
Thanks to Utkarsh Trivedi for suggesting above solution.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...