gpt4 book ai didi

c - 我的 'NumberSize' 函数中的二进制操作数无效

转载 作者:行者123 更新时间:2023-11-30 19:37:38 25 4
gpt4 key购买 nike

我创建了一个函数,该函数应该获取链接列表中的数字并确定哪个是最小的数字,哪个是最大的数字。我创建了一个 while 循环,该循环应该获取每个数字并将其与下一个数字进行比较。 “newNumber”是当前号码,“next”应该是列表中的下一个号码。我无法理解如何调用当前号码和下一个号码。我的 while 循环也是无限的,是因为我在确定中再次引用数字吗?

double NumberSize(NewNumber *start){

NewNumber *determine = start;
double SecondNumber =0;
double FirstNumber = 0;
while(determine != NULL){
FirstNumber = determine->newNum;
SecondNumber = determine->next;

if(FirstNumber < SecondNumber){
printf("The biggest number is:\n", SecondNumber);
}else{
printf("The smallest number is:\n", FirstNumber);
}
}

最佳答案

您忘记单步浏览列表。使用以下解决方案求平均值:

void NumberSize(NewNumber * start)
{
double num = 0.0;

double biggest;
double smallest;
int flag = 0;

NewNumber *temp = start;
// set start values
if(tmp != NULL){
biggest = temp->newNum;
smallest = temp->newNum;
tmp = tmp->next;
flag = 1;
}

// while temp is not NULL
while (temp) {
// get number from current node
num = temp->newNum;
// if that number is bigger than "biggest"
if (num > biggest) {
// exchange "biggest" with "num"
biggest = num;
}
// do it the same way for the smallest number
else if (num < smallest) {
smallest = num;
}
// here is the forgotten line:
// go to the next node
temp = temp->next;
}
if(flag){
// no returns, just printing
printf("The smallest number is: \n", smallest);
printf("The biggest number is: \n", biggest);
} else {
puts("list empty");
}
}

关于c - 我的 'NumberSize' 函数中的二进制操作数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39431919/

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