C语言,这个程序是什么意思呀?
感觉p[head]=p[head]这句可以忽视,自己等于自己啊?说一下我的看法:首先是给数组赋值,除了p[16]每个数的值都等于他的下标加一,这样在循环里是每两个一循环,head记录下标test记录下标的数值,test就是1,2;3,4;5,6;7,8;9,10;11,12;13,14;15,0,然后又重新开始了一个新的循环,这是我的看法,楼主加油!
你这个程序没有输出的,一直在while中。
感觉这个程序无用,一直都在while循环中,且没有输出。大概流程就是,先给P[]数组赋值,p[0]到p[15]分别是1至16,p[16]为0;然后while循环中,从0、1开始,每两个循环一次,head值为test+1,即下标的值;test值则是数组p[]奇数下标的值,即2、4、6、8……,当test值为0时,又重新开始新的循环,所以一直都在循环中,没有输出
这个程序是个死循环,永远退步出来了
这是一个简单的,用来创建链表的程序。
如果你想知道程序的结果,你可以访问
codepad.org
把你的代码贴上去,它提供在线编译和运行的功能。
这程序p[17]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,0}
test=0; test!=(p[0]=1);
成立循环开始第一圈:
for 第一圈(i=1):head赋值为0; test=p[head]=1;
for第二圈(i=2): head=1; test=p[1]=2;
for结束: p[1]=p[1]=2;
test=2; 2!=(p[2]=3)
成立循环开始第二圈:
for 第一圈(i=1):head赋值为2; test=p[2]=3;
for第二圈(i=2): head=3; test=p[3]=4;
for结束: p[3]=p[3]=4;
test=4; 4!=(p[4]=5)
成立循环开始第三圈:
for 第一圈(i=1):head赋值为4; test=p[4]=5;
for第二圈(i=2): head=5; test=p[5]=6;
for结束: p[5]=p[5]=6;
test=14; 14!=(p[14]=15)
成立循环开始第四圈:
for 第一圈(i=1):head赋值为14; test=p[14]=15;
for第二圈(i=2): head=15; test=p[15]=16;
for结束: p[15]=p[15]=16;
test=16; 16!=(p[16]=0)
成立循环开始第五圈:
for 第一圈(i=1):head赋值为16; test=p[16]=0;
for第二圈(i=2): head=0; test=p[0]=1;
for结束: p[0]=p[0]=1;
test=1; 1!=(p[1]=2)
成立循环开始第六圈:
for 第一圈(i=1):head赋值为1; test=p[1]=2;
for第二圈(i=2): head=2; test=p[2]=3;
for结束: p[2]=p[2]=3;
test=3;
----------------------------好像没有尽头了
1 先给P[]数组赋值,p[0]到p[15]分别是1至16,p[16]为0;
2 然后while循环中,从0、1开始,每两个循环一次,head值为test+1,即下标的值;
3 test值则是数组p[]奇数下标的值,即2、4、6、8……,
4 当test值为0时,又重新开始新的循环,
5 结论:一直在循环中,未输出