このプログラムは与えられた整数の奇数の位置を示します。このプログラムはうまく機能しますが、123456789123 のように 10 より大きい整数を与えると、うまくいきません。RAMの問題なのかアルゴリズムの問題なのかわかりませんか?
#include<stdio.h>
#include<stdlib.h>
main(){
int a,b;
int i = 0;
scanf("%d",&a);
while(a/10!=0){
b=a%10;
if(b%2!=0)
printf("\nodd number position: %d",i);
a=a/10;
i++;
}
if(a%2!=0)
printf("\nodd number position: %d",i);
system("pause");
}