A function need not return a value;a return statement with no expression causes control,but no useful value,to be returned to the caller,as does "falling off the end" of a function by reaching the terminating right brace.And the calling function can ignore a value return by a function.---In reference to this ---
#include<stdio.h>
int power(int m,int n);
main() /*OUTPUT:---->
{ 0 0 0
int i; 1 1 1
for(i=0;i<10;i++) 2 2 2
printf("%d %d %d\n",i,power(2,i),power(-3,i)); 3 3 3
return 0; 4 4 4
} 5 5 5
int power(int base,int n) 6 6 6
{ int i,p; 7 7 7
p=1; 8 8 8
for(i=0;i<n;i++) 9 9 9 */
p=base*p;
return; /* return statement with no expression*/
}
What is the reason of such output,and what the given statements want to say?