gpt4 book ai didi

c - 函数在 c 中不起作用

转载 作者:太空狗 更新时间:2023-10-29 15:33:14 26 4
gpt4 key购买 nike

我正在学习 C 编程并编写了一个简单的程序来学习 C 中的函数。我在这里使用了两个函数,虽然第一个有效但第二个无效!

这是简单的代码:

#include<stdio.h>

void main() {
int a,b,c,sum;
printf("Input your numbers one by one:\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
printf("You have put %d, %d, %d\n\n", a, b, c);
max (a,b,c);
min (a,b,c);
}

void max (int a, int b, int c) {
int sum;
a=sum;
if(sum>b)
sum=b;
if(sum>c)
sum=c;
}

void min (int f, int g, int h) {
int sum;
sum=f;
if(sum<g)
sum=g;
if(sum<h)
sum=h;
printf("The lowest value is:%d\n\n\n",sum);
}

谁能告诉我为什么会发生这种情况以及解决方案?

最佳答案

您的功能都不应该起作用。第一个在变量 a 中设置 sum 的当前值,它是未初始化的。

然后在搜索 MAX 值时,检查当前总和(应该是 a)是否大于 b,如果是则存储 b sum 中的值。

然后如果你想在函数定义之前调用它,你需要把函数的原型(prototype)放在文件的开头。当您在定义之前调用 min()max() 时,您遇到了编译错误。

应该是这样的:

#include<stdio.h>

void max (int a, int b, int c);
void min (int f, int g, int h);

void main()
{
int a,b,c,sum;
printf("Put your numbers throughly one by one:\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
printf("You have putted %d, %d, %d\n\n", a, b, c);
max (a,b,c);
min (a,b,c);
}

void max (int a, int b, int c)
{
int sum;
sum = a;
if(sum<b)
sum=b;
if(sum<c)
sum=c;

printf("The max value is:%d\n\n\n",sum);
}

void min (int f, int g, int h)
{
int sum;
sum=f;
if(sum>g)
sum=g;
if(sum>h)
sum=h;

printf("The min value is:%d\n\n\n",sum);
}

关于c - 函数在 c 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790209/

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