2 totliuxz TOTliuxz 于 2013.07.02 22:24 提问

请高手帮忙解释以下一段C语言程序代码,本人在此感激不尽。

void output(city1,city2) /*输出函数*/
int city1;
int city2;
{
int a,b,c,d,q=0;
a=city2;
if(a!=city1)
{
printf("\n从%s到%s的最短路径是",G.vex[city1].city,G.vex[city2].city);
printf("(最短距离为 %dkm.)\n\t",D[a]);
printf("%s",G.vex[city1].city);
d=city1;
for(c=0;c {
gate:; /*标号,可以作为goto语句跳转的位置*/
P[a][city1]=0;
for(b=0;b {
if(G.arcs[d][b].adj {
printf("-->%s",G.vex[b].city);q=q+1;
P[a][b]=0;
d=b;
if(q%8==0) printf("\n");
goto gate;
}
这段代码中的f(q%8==0) 这句是什么意思,这段代码的输出流程是怎样的。本人在此感激不尽。

2个回答

kalala10086
kalala10086   2013.07.04 16:47

你的for(c=0;c {
gate:; /*标号,可以作为goto语句跳转的位置*/
P[a][city1]=0;
for(b=0;b {
if(G.arcs[d][b].adj {
printf("-->%s",G.vex[b].city);q=q+1;
P[a][b]=0;
d=b;
if(q%8==0) printf("\n");

你确认是这样吗?

a1193561652
a1193561652   Rxr 2015.05.19 16:29

代码的for循环后面有部分残缺,不知道你的是什么逻辑,也没法给你补,至于if(q%8==0)是说判断q是不是8的倍数。

Csdn user default icon
上传中...
上传图片
插入图片