#include<iostream>
using namespace std;
int main()
{
int n,temp,cnt=0;
cin>>n;
for(int i=1;i<=n;i++)
{
while(i)
{
temp=i%10;
if(temp==1) cnt++;
cout<<cnt;
i/=10;
}
}
cout<<"出现1的次数为:"<<cnt;
return 0;
}
关于i的循环,又出现了i/=10,因此陷入了死循环。
可另设正整数k,令k=i
#include<iostream>为什么会出现死循环?
i最后=0时循环不是会跳出吗
你的for循环是对i进行循环,循环后i加1
但是在循环中,又改变了i的值。