首页 热点资讯 义务教育 高等教育 出国留学 考研考公

main() {int i,test,p[17],head; for(i=0;i<16;i++) p[i]=i+1; p...

发布网友 发布时间:2022-04-27 05:01

我来回答

4个回答

热心网友 时间:2022-04-12 17:37

main()
{
int i,test,p[17],head;
for(i=0;i<16;i++)
{
p[i]=i+1;
}
p[16]=0;
test=0;
while(test!=p[test])
{
for(i=1;i<3;i++)
{
head=test;
test=p[head];
}
p[head]=p[head];
}
printf("\n%5d",test);
}
程序如果是上面这样的话,
for里的语句等价于
for(i=1;i<3;i++)
{
test=p[test];
}
p[head]=p[head]; 这句没有改变到什么,可以略去.
while循环中等价于
while(test!=p[test])
{
for(i=1;i<3;i++)
{
test=p[test];
}
}
数组中值为1,2,3,-,16,0
执行到 test=p[16]之后, test=0;
循环在这里出不来,数组中的值不变,程序会一直一直跑..追问{
p[i]=i+1;
}
这个没有中括号

追答for(i=0;i<16;i++)
{
p[i]=i+1;
}

for(i=0;i<16;i++)
p[i]=i+1;
这里是一样的,有无括号都一样.

热心网友 时间:2022-04-12 18:55

可以在重新把程序写好吗?有点乱...如:
main()
{
int i,test,p[17],head;
for(i=0;i<16;i++) <-是不是少了一个 "{"?
p[i]=i+1;
p[16]=0;
test=0 while(test!=p[test]) <-这里有点奇怪,是不是少了一个";"?
....

热心网友 时间:2022-04-12 20:30

你这代码也忒乱了,好好排下版再说啊

热心网友 时间:2022-04-12 22:21

请问这题答案是什么啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com