用100位的数组存整数的各位

把整数的各位分别存到数组中,但是当整数大于10位时,结果总是零。求解答是怎么回事。
#include
using namespace std;
int main(){
int b=0,num;
int a[100];
cin>>num;
do{
a[b]=num%10;
cout< num=num/10;
b++;
}while(num>0);
return 0;
}

4字节整型变量最大值为2147483647 ,你输入的10位数有没有超过2147483647?

 #include<iostream>
using namespace std;
int main()
{
    int a=0;
    cout<<"int所占字节数为: "<<sizeof(a)<<endl;
    a=0x7fffffff;
    cout<<"int最大值为: "<<a<<endl;
    int b = 2147483647 + 1000;
    cout<<"b = "<<b<<endl; 
    return 0;
}

int 能存的大小有限制 你输入的太大了吧

10位整数已经超出超出了int无符号时能表示的最大值了。

用字符串读行吧,那样你可以处理几百位的数字