[英]Loops not executing in functions C++
这是我的代码。 每当我运行程序时,我希望 function Binary()中的for 循环中的cout语句能够执行。 但是每当我输入一些东西时,它都会给我0
#include<iostream>
#include<math.h>
using namespace std;
long int Binary(int x){
int temp=0,res=0;
for(int i=x;i<0;i--){
temp++;
res=res+ pow(10,temp)*(i%2);
i=i/2;
cout<<i<<" "<<res<<endl;
}
return res;
}
int main(){
int x; cin>>x;
cout<<endl<<Binary(x);
return 0;
}
我认为您的 for 循环中的条件与您的预期相反。 您似乎希望它继续循环直到i<0
。 但它实际上会在i<0
时循环。 当你进入循环时,条件已经不成立,所以它会立即结束而不做任何迭代。
你只需要改变i
检查的循环。
#include<iostream> #include<math.h> using namespace std; long int Binary(int x){ int temp=0,res=0; for(int i=x;i>0;i--){ temp++; res=res+ pow(10,temp)*(i%2); i=i/2; cout<<i<<" "<<res<<endl; } return res; } int main(){ int x; cin>>x; cout<<endl<<Binary(x); return 0; }
在此处查看实时版本http://cpp.sh/95z74
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.