【发布时间】:2015-04-28 02:30:08
【问题描述】:
for(j=0;j<nodes;j++){
//changes source node from number to charcter
if(j==0){char nod[1] = "A";}
else if(j==1){char nod[1] = "B";}
else if(j==2){char nod[1] = "C";}
else if(j==3){char nod[1] = "D";}
else if(j==4){char nod[1] = "E";};
int d = rt[i].from[j]+1;
if(d==1){char nod[1] = "A";}
else if(d==2){char next[1] = "B";}
else if(d==3){char next[1] = "C";}
else if(d==4){char next[1] = "D";}
else if(d==5){char next[1] = "E";};
printf("\t\n %s %d %s ",nod,rt[i].dist[j],next);
}
这对两个字符串都打印出相同的内容,然后打印出下一个并且根本不打印出点头。 IE。
For router A
A 0 A
B 2 B
C 3 C
C 5 C
B 5 B
什么时候应该是这样的:
For router A
A 2 A
B 0 B
C 4 C
D 4 C
E 3 B
感谢任何帮助,谢谢。
【问题讨论】:
-
nod和next似乎超出范围? -
一行
if并没有让我注意到这一点,但确实如此。 -
是时候在编程上下文中搜索“范围”这个词了 :)