我这个while循环中的scanf()为什么在输入范围内的数字后却能运行下面的if语句,很懵,望求解。
#include<stdio.h>
int main()
{
int num,A,a;
printf("请输入一个数字(000——255):");
scanf("%d", &num);
while (num > 255)
{
printf("请输入范围内的数字:");
scanf("%d", &num);
}
if (num >= 0 && num <= 255)
{
if (num >= 0 && num < 5)
{
A = num + 10;
printf("%c的ASCII码值大于10的字符为%c,没有小于5的字符。", num, A);
return 0;
}
if (num > 245)
{
a = num - 5;
printf("%c的ASCII码值小于5的字符为%c,没有大于5的字符。", num, a);
return 0;
}
A = num + 10;
a = num - 5;
printf("%c的ASCII码值大于10的字符为%c,小于5的字符为%c.", num, A, a);
}
return 0;
}
我这里可以正确运行