why it prints 1...... | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

why it prints 1......

#include<stdio.h> void main() { static main; int a; a=printcall(main); printf("%d\n",a); } int printcall(int addr){ addr++; return addr; } can anyone explain what does static main means ? while execute the above program it prints 1

30th Jun 2020, 1:54 PM
Muralikrishnan
Muralikrishnan - avatar
1 Answer
+ 1
In the C programming language, static is used with global variables and functions to set their scope to the containing file. In local variables, static is used to store the variable in the statically allocated memory instead of the automatically allocated memory.  https://stackoverflow.com/questions/572547/what-does-static-mean-in-c#:~:text=In%20the%20C%20programming%20language,of%20the%20automatically%20allocated%20memory. if a variable has no initial value it by default 0(zero) . And when that variables increment 0 becomes 1 and print 1 as well. 👉 let's have a look the code below quickly https://code.sololearn.com/cab2MNAJh7F6/?ref=app
30th Jun 2020, 2:14 PM
Aazad Waf 🌀
Aazad Waf 🌀 - avatar