刚学新手,代码有些地方不理解它的意思,求前辈解惑。

#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 编辑 ]

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。