gpt4 book ai didi

代码不显示返回值

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

我正在尝试为函数最大值编写一个函数定义,它返回三个整数中最大的一个。但它没有返回最大的。

这是我的代码:

int maximum( int x, int y, int z ) {
int max = x;
if ( y > max )
max = y;

if ( z > max )
max = z;

return max;
}

int main() {
maximum(3, 2, 1);
return 0;
}

最佳答案

您调用 maximum(3, 2, 1) 的结果被忽略(因为您没有使用该结果)。优化编译器可以随意忽略该结果,甚至避免调用 maximum .

顺便说一句,我发现 max3对于这样的函数来说,这是一个更好的名称。

至少,您应该打印此类函数调用的结果。所以添加

   printf("max is %d\n", maximum(3, 2, 1));

在你的return 0;之前在main (当然,您在源代码的开头需要 #include <stdio.h>)。

新手提示:始终结束 printf带换行符的格式字符串 \n或者调用fflush(NULL)否则你会得到不愉快的惊喜,因为stdout已缓冲!

您确实应该阅读更多有关编程(或 C 语言编程)的 Material 。您应该在编译器中启用警告消息。您应该学习如何使用调试器。如果您使用的是 Linux,请使用 gcc -Wall -g 进行编译并学习如何使用gdb调试器。所以如果你的源文件是max3homework.c你可以用

来编译它
gcc -Wall -g max3homework.c -o max3hw

命令,您可以通过运行 ./max3hw 来测试它你可以通过运行 gdb max3hw 来调试它然后输入适当的命令 gdb .

关于代码不显示返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486601/

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