gpt4 book ai didi

c - 传递二维数组然后没有得到值

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:08 26 4
gpt4 key购买 nike

我在编写一些代码时遇到问题。我经常使用这个网站,因为我发现很多人已经问过我想知道的相同问题。有了这个,我要感谢这里的社区,感谢他们之前对我的编程难题的所有洞察力。(在我们走得太远之前,不,这不是“学校项目”或“学校作业”,我只是想解决“旅行推销员问题”并提高我的 C 技能。

这是我一直坚持的代码部分:

   void printAndFlip(int arrayone[][20], int citytotal, int arrayCities[])
{

////Finds cost:
int x, y, z;
int totalCost
int singleTrip;
int cheepestTrip;
int nCity = citytotal + 1; //nCity is the number of Cities //Adding one to accomadate going back to the first city
int gCounter;
int gCounterTrue = 1;
int cheepestTrip[20];
int totalCost = 0;
int lCounter;
int i;
int n = citytotal;


////Sets up for a default case to set cheepestTrip:
for(gCounter = 1; gCounter <= nCity; gCounter++)
{
while(gCounterTrue == 1)
{
if(gCounter == arrayCities[gCounter])
{
gCounterTrue = 1;
}
else
{
gCounterTrue = 0;
gCounter = 50; //Stopping the larger for loop with 50 (the nCity can't be larger than 20) so that it will hopefully be faster
}
if(gCounter == nCity)
{
if(arrayCities[1] == arrayCities[nCity])
{
!!!!! cheepestTrip = totalCost;
}
}
}
}
for(x = 1; x < nCity; x++)
{
y = arrayCities[x];
z = arrayCities[x+1];
singleTrip = arrayone[y][z]; //finding individual cost of each trip...will be added to 'totalCost' below
totalCost = singleTrip + totalCost;
}

!!!!!!!! if(totalCost <= cheepestTrip)
{
for(lCounter = 1; lCounter <= nCity; lCounter++)
{
cheepestTrip[lCounter] = arrayCities[lCounter];
}
}

为了更容易显示我的编译错误所在的位置,我在行上加上了感叹号。如果我错了,请告诉我,但是当我将“arrayone”发送到 printANDFlip 时,我传递了一个带有数组的指针数组,对吗?我知道编译错误与指针有关,但我只是不确定它们应该放在哪里。任何和所有帮助将不胜感激。非常感谢,亚历克斯

最佳答案

明确其他一些回复所说的内容:您有两个名称相同但类型不同的变量:

int cheepestTrip;  /* This is an single integer... */

int cheepestTrip[20];  /* ...but this is an array of integers. */

这应该会在编译时触发警告(可能与重新声明现有变量有关)。

关于c - 传递二维数组然后没有得到值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280184/

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