比较两个c++程序有什么问题
#include<cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int i;
int j;
int a;
int s=1;
for(i=2; i<=n; i++){
a=i;
do{
j=a%10;
if(j==1)
s++;
a=a/10;
}while(a!=0);
}
printf("%d\n",s);
return 0;
}
#include<cstdio>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int i;
int j;
int s=1;
for(i=2; i<=n; i++){
do{
j=i%10;
if(j==1)
s++;
i=i/10;
}while(i!=0);
}
printf("%d\n",s);
return 0;
}
第一个程序可以运行,第二个程序却不能
why?