C语言取余数好像溢出了?

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:14:14
#include <stdio.h>
#include <math.h>
main()
{
int i,bit=0,binary[32],a,k=0, N, pm[20];

N=1024;

a=12;

while (N!=0){

bit++;

i=N%2;

binary[bit]=i;

N=N/2;
}

pm[0]=a%N;

for(i=1;i<=19;i++){

pm[i]=(pm[i-1]*pm[i-1])%N;
printf("%u\n",pm[i]);
}
}

pm[0]=a%N;
取余数跟除法一样,除数不能为0.

写注释是个好习惯,特别是程序需要给别人或多年之后的自己看的时候。

完成while循环后,N的值已经是0,还怎么能做除数呢?