Reputation: 1
My instructor has asked us to follow the variables through this code and determine when the variables change. He says the inputs should be
8, 4, 2, 1
I have compiled and run the code to he me understand it but it doesn't stop. It just ouputs "Feed me two numbers please:" over and over. Any help is greatly appreciated.
#include <stdio.h>
main ()
{
int a;
int b;
int c=0;
int d=0;
int e=0;
int f=0;
while (c == 0 || a + b !=0){
printf("Feed me two numbers please: \n");
scanf ("%d %d", &a, &b);
if (c == c + 1){
printf("Welcome to my world!\n\n");
}
if (c = 0){
d = a + b;
e = d;
}
else if (a + b > d){
d = a + b;
}
else if (a + b < e){
e = a + b;
}
if (a < f){
f=a;
}
c = c + 1;
}
printf("Now hear this:%d %d\n\n", d, e, f);
}
Upvotes: 0
Views: 82
Reputation: 95968
In
if (c = 0)
you're assigning 0
to c
, the expression of the assignment returns the assigned value, so the expression will be always evaluated to false as it's equivalent to if(0)
, it should be if(c == 0)
.
Also
if (c == c + 1)
doesn't make any sense, what exactly do you mean? I think it should be c > 0
.
In all cases, you should use the debugger, it can save you a lot of time, and will help you to really understand your code.
Upvotes: 4