function to initialize variables in C -
function to initialize variables in C -
i should utilize function assign initial values variables, don't understand why init function in code doesn't initialize a, b, c, gives garbage numbers. should utilize rotate function using static declaration of variables a, b, c , since static doesn't swap variables. how that?
void init(int num1, int num2, int num3); int main(void){ int a, b, c; init(a, b, c); printf("a=%d, b=%d, c=%d\n", a, b, c); rotate(); homecoming 0; } void init(int num1, int num2, int num3){ printf("enter value num1: "); scanf("%d",&num1); printf("enter values num2: "); scanf("%d",&num2); printf("enter values num3: "); scanf("%d",&num3); } void rotate(void){ static int a,b,c; int temp; temp=a; a=b; b=c; c=temp;}
your function attempting pass value. however, in c, passing non-array variable address only way allow function alter it.
your utilize of function arguments can corrected this... alter function to:
void init(int *num1, int *num2, int *num3){ printf("enter value num1: "); scanf("%d",num1);//because argument //pointer, not need de-reference (&) printf("enter values num2: "); scanf("%d",num2); printf("enter values num3: "); scanf("%d",num3); } and, alter call:
init(a, b, c); to:
init(&a, &b, &c); c
Comments
Post a Comment