gpt4 book ai didi

c - 试图编写一个整数比较方法,但它不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 05:07:38 25 4
gpt4 key购买 nike

我有一个整数数组,我试图找到最大的一个并将新整数设置为最高的值。我是 C 语言的新手,实际上我才刚刚开始学习它。

我正在做的事情可能存在某种逻辑问题,但我还没有发现它。所以...

int my_array[4];
int highest_int = 0;
int i;

for (i = 0; i < 4; i++) {
if (my_array[i] > my_array[i++]) {
if (my_array[i] > highest_int) {
highest_int = my_array[i];
}
}
else {
if (my_array[i++] > highest_int) {
highest_int = my_array[i++]
}
}
}

所以我遍历我的数组 4 次(4 个元素),然后查看迭代值和下一个迭代值,如果迭代值最高,我检查它是否也高于当前“最高整数”的当前值,并且如果是,我将当前最高整数设置为新的最高值。如果迭代值之后的值更高,我会做同样的事情,但使用那个值。

这就是我写这篇文章时脑子里想的,但是当我输入 4 个值时,它总是以数组中的第 3 个值出现。无论我将这些值设置为什么。

谁能告诉我为什么?

非常感谢。

最佳答案

为什么要在循环内递增 i?为什么需要 else 部分?

这里有一个简单的方法:

int my_array[4];
int highest_int = my_array[0];
int i;

for (i = 1; i < 4; i++) {
if (my_array[i] > highest_int) {
highest_int = my_array[i];
}
}

关于c - 试图编写一个整数比较方法,但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166713/

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