شرط شما and هست نه or بنابراین نمی تونه همزمان شرط برآورده کنه در نتیجه تا آخر حلقه میره مثلا در اولین دور در قسمت شرط مورد نظر شما x و y به ترتیب 3 و 1 میشه که کاملا واضح هست که هیچ کدام را برآورده نمی کنه. کد رو به شکل زیر اجرا کن بیشتر متوجه میشه
#include <stdio.h>
#include <stdlib.h>
int x=0,y=0;
int m=0,n=0;
int a,z;
int main()
{
scanf("%d",&a);
scanf("%d",&z);
while(a!=5001 && z!=5001 && m<5001 && n<5001)
{
x=m;
y=n;
printf("\nm=%d n=%d\n",m,n);
if(x==a && y==z)
{
printf("x=%d y=%d",x,y);
break;
}
x+=1;
y+=1;
printf("x=%d y=%d",x,y);
if(x==a && y==z)
{
printf("##################");
printf("x=%d y=%d",x,y);
break;
}
/////////////////////////////////////////
x+=2;
y+=0;
printf("x=%d y=%d",x,y);
if(x==a && y==z)
{
printf("*****************");
printf("x=%d y=%d",x,y);
break;
}
///////////////////////////////////////
x+=3;
y+=1;
printf("x=%d y=%d",x,y);
if(x==a && y==z)
{
printf("=================");
printf("x=%d y=%d",x,y);
break;
}
m+=2;
n+=2;
}
return 0;
}