Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

A C Puzzle

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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()
{
   // your code
}


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.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

My Personal Notes arrow_drop_up
Last Updated : 21 Jun, 2018
Like Article
Save Article
Similar Reads