If statement If和If语句/使用{}
我有一个简单的问题。为什么第一个程序不工作并返回0,但是第二个if进入另一个if工作?它不会下降并检查下一个是否If statement If和If语句/使用{},if-statement,If Statement,我有一个简单的问题。为什么第一个程序不工作并返回0,但是第二个if进入另一个if工作?它不会下降并检查下一个是否 #include <stdio.h> int main () { int m,n,tmp,i; int nnumber=0,numbermin=9999999; scanf("%d %d",&m,&n); for(i=m;i<=n;i++) { tmp=i; while
#include <stdio.h>
int main ()
{
int m,n,tmp,i;
int nnumber=0,numbermin=9999999;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
tmp=i;
while (tmp > 0 && (tmp % 10) % 2 == 0)
{
tmp/=10;
}
if (tmp == 0){ // This don't work i as want from this if to go down
// there and check the next if
// i only got 0 at the printf("%d" , numbermin);
nnumber=i;
}
if(nnumber<numbermin)
{
numbermin=nnumber;
}
}
if(nnumber==0)
printf("NO");
else
printf("%d",numbermin);
}
#包括
int main()
{
int m,n,tmp,i;
int nnumber=0,numbermin=999999;
scanf(“%d%d”,&m,&n);
对于(i=m;i0&(tmp%10)%2==0)
{
tmp/=10;
}
如果(tmp==0){//这不起作用,我希望从这个if开始下降
//如果有,请检查下一个
//我在printf中只得到了0(“%d”,numbermin);
nnumber=i;
}
如果(nnumber这是因为在第一个示例中,如果tmp
不等于0,那么第二个if
语句仍然可以计算为true,而第一个语句不等于true
if (tmp == 0){
nnumber=i;
}
if(nnumber<numbermin)
{
numbermin=nnumber;
}
这可以解释运行这两个版本的代码时结果的差异。这是因为在第一个示例中,如果tmp
不等于0,那么第二个if
语句仍然可以计算为true,而第一个不等于true
if (tmp == 0){
nnumber=i;
}
if(nnumber<numbermin)
{
numbermin=nnumber;
}
这可以解释运行这两个版本的代码时结果的差异
if (tmp == 0){
nnumber=i;
if(nnumber<numbermin){
numbermin=nnumber;
}
}