gpt4 book ai didi

c - 函数中的变量初始化

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

我对编码还很陌生,目前正在学习 C。在我的 C 编程课上,我的老师给了我们编写一个程序的任务,该程序使用一个函数,该函数输入五个整数并打印最大的整数。该程序即使对我来说也相当简单,但我遇到了一些问题,希望得到一些建议。

#include <stdio.h>

int largest(int x);

int main(void) {
int integer1;

largest(integer1);

return 0;
}

int largest(int x) {
int i;

for (i = 0; i < 5; i++) {
printf("Enter an integer: ");
scanf_s("%d", &x);
}

return x;
}

这是我编写的代码。我遇到的主要问题是在我的主要方法中,IDE 告诉我初始化 integer1 的值。但是,我不太确定该怎么做,因为我应该通过 scanf_s 函数在 largest() 方法中输入值。我该如何解决这个问题?

最佳答案

问题就在这里,警告信息是警告你使用未初始化的自动局部变量值的潜在陷阱。你打了个电话

  largest(integer1);

但您忽略了返回值,因此 integer1 仍未初始化。

请记住,鉴于 largest()x 是传递给该函数的实际参数的本地副本,所做的任何更改x 不会反射(reflect)给调用者。

也就是说,您的代码远未达到您的要求,抱歉。到达那里的一个简短想法是

  • 创建一个函数。
  • 创建一个变量(例如,result)并用最小可能的整数值初始化,INT_MIN
  • 循环 5 次,获取用户输入,与 result 值进行比较,如果发现输入的值更大,则将其存储到 result 中,否则继续。
  • 返回结果

关于c - 函数中的变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43321410/

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