gpt4 book ai didi

C 打印两个字符串的第二个字符串值

转载 作者:行者123 更新时间:2023-11-30 15:20:42 25 4
gpt4 key购买 nike

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);

}

这对两个字符串打印出相同的内容,并且打印出 next 并且根本不打印出 nod。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

感谢任何帮助,谢谢。

最佳答案

您在每个 if block 中重新声明 nodnext,当 block 结束时,它们就会超出范围。

因此,您不会打印修改后的 nodnext,而是在此 for 循环开始之前声明的内容。

您不需要 nodnext 来打印这些值,您可以直接打印它们,或者,

for(j=0;j<nodes;j++)
{
int d = rt[i].from[j] + 1;
printf("\t%c %d %c\n", 'A' + d - 1, rt[i].dist[j], 'A' + d - 1);
}

会给你你想要的输出。

关于C 打印两个字符串的第二个字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29909280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com