刚学新手,代码有些地方不理解它的意思,求前辈解惑。
程序代码:
#include<stdio.h> #include<stdlib.h> int main(int argc,char *argv[]) { int i,j,n,m; int a[16]={0}; system("cls"); printf("please input the number:\n"); scanf("%d",&n); for(m=0;m<15;m++) { i=n%2; j=n/2; n=j; a[m]=i; } for(m=15;m>=0;m--) { printf("%d",a[m]); if(m%4==0) printf(" "); } return 0; }
i=n%2;
j=n/2;
n=j;
a[m]=i;
这段代码里,我不理解的是第一个for循环中,i=n%2,取2的余数,整除后保存在j变量里,j变量又赋值给n变量.
但是最后取余的i变量最后保存在a[m]里。打印也是a[m]。
那j=n/2和n=j这两个表达式有什么意义?
[ 本帖最后由 lanke711 于 2015-7-18 00:12 编辑 ]