#include<stdio.h>
int fun();
int i;
int main()
{
while(i)
{
fun();
main();
}
printf("hello \n");
return 0;
}
int fun()
{
printf("hi");
}
answer is hello.how??wat is tat while(i) mean?
Answers were Sorted based on User's Feedback
Answer / vignesh1988i
see first of all variable 'i' is declared as a global
storage class variable .. so according to that storage class
whenever we define an variable i before the main function
and explicatily we haven't initilized that variable means it
will defaultly variable i will have 0....
so when this while is compiled i has 0 which makes the loop
false.. so it will compile the very first statement after
that loop... so it prints hello...........
thank u
| Is This Answer Correct ? | 18 Yes | 0 No |
Answer / who cares
I am not an expert but you can try one thing that I did.
Remove the while loop and put the follow
if (i)
printf ( "hi\n" );
The result is that printf statement never gets any print
out! My guess would be because the value of 'i' is NOT
defined so, that while loop doesn't get assess at all! So,
the result is only "hello"
| Is This Answer Correct ? | 5 Yes | 2 No |
Answer / parul_kul
As "int i" is not defined/declared inside any function, by
default it is declared as external variable not as auto.
Thats why, it takes the 0 as its default value.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / agita
in response to the previous answer...
there is no storage class specification for i..so by default
it
is auto..if an auto variable is not initiallized it would
give a garbage value..then how come while(0)....?
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / sudhir kumar sharma
if we try this program in case of above program we will come
to a conclusion that all the variable declared before main
are global and assigned a value by default to zero that's
why the while loop will not executed in the above program :)
#include<stdio.h>
#include<conio.h>
int a;
float b;
double c;
char d;
static int e;
int main()
{
clrscr();
printf("%d\n %f\n %d\n %c\n %d\n",a,b,c,d,e);
getch();
return 0;
| Is This Answer Correct ? | 0 Yes | 0 No |
4)What would be the output? main() { int num=425; pf("%d",pf("%d",num)); } a)Comp error b)4425 c)4253 d)3435 e)none
What is the output of printf("%d", printf("Hello"));?
What is a program flowchart?
how do you redirect stdout value from a program to a file?
what are the static variables
8 Answers HCL, iFlex, TCS, Wipro,
i = 25;switch (i) {case 25: printf("The value is 25 ");case 30: printf("The value is 30 "); When the above statements are executed the output will be : a) The value is 25 b) The value is 30 c) The value is 25 The value is 30 d) none
what is the structure?
what is the difference between strcpy() and memcpy() function?
Write an algorithm for a program that receives an integer as input and outputs the product of of its digits. E.g. 1234 = 24, 705 = 0
Why Modern OS are interrupt driven?Give an example
#include<conio.h> #include<stdio.h> void main() { int i; if(1,0,2,3) { printf("if"); } else { printf("else"); } getch(); } Can any body tell the answer of this question with explanation?
What is sizeof int in c?