gpt4 book ai didi

c - 从函数返回一个指向 main 的指针

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

编写一个程序来查找包含 10 个整数的数组中最大元素的地址,我的代码是:

int* Largest(int *array, int size);
int main()
{
int *Ptr, array[10];
int r, c, num = 1;
for(r = 0; r < 10; r++) {
array[r] = num + 1;
}

Ptr = Largest(array, 10);
printf("%p", Ptr);
return 0;
}

int* Largest(int *array, int size)
{
int *largest, r;
for(r = 0; r < size; r++) {
if(r = 0) {
largest = &array[0];
}
else {
if(array[r] > *largest) {
largest = &array[r];
}
}
}
return largest;
}

编译时我没有收到任何错误或警告,但是程序不执行任何操作并被 Windows 自动停止。

最佳答案

  1. 您可能没有包含至少需要的 header stdio.h

  2. 您有一项很可能不应该的作业

    if(r = 0)

    我认为应该是这样

    if (r == 0)

    我发现有些人通过这样做来防止此类问题

    if (0 == r)

    因为这样,如果您使用 = 运算符,程序将无法编译,无论如何,这不是一个很好的方法,相反,您应该

    larget = &array[0];
    for (r = 1 ; r < size ; ++r)

    这显然会更加高效。

至于程序停止,您可以尝试运行cmd.exe窗口并直接从那里执行您的程序。

注意:if (condition1) {} else if (condition2) {}在c中有效,不需要if (condition1) {} else {if(条件2){}}

关于c - 从函数返回一个指向 main 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443771/

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