在 C 中,如何从用户定义的函数中获取一个值,然后在另一个用户定义的函数中将其打印出来? [关闭]

Posted

技术标签:

【中文标题】在 C 中,如何从用户定义的函数中获取一个值,然后在另一个用户定义的函数中将其打印出来? [关闭]【英文标题】:In C, how would one take a value from a user defined function, and then print it back out in another user defined function? [closed] 【发布时间】:2016-02-18 17:24:17 【问题描述】:

我对编程很陌生。我的问题与我必须创建一个计算三个整数平均值的函数有关。

这部分对我来说很简单,但我还必须创建另一个函数来打印出平均值,比如“平均值为 %d”之类的东西。我只是不知道如何将第一个函数的平均值转换为第二个函数。

【问题讨论】:

请添加您的代码 一组数字的平均值是这些项目的总和除以集合中的项目数。既然你有一组固定大小,那就是(a + b + c) / 3 【参考方案1】:

您好,第一个函数可以使用返回类型返回平均值,例如 double average(int a1,int a2,int a3) return (a1+a2+a3)/3.0; ,在您的第二个函数中,您可以: 1.调用平均函数并存储或打印返回值; 2. 将平均值作为函数参数传递。 3. 使用平均值作为全局变量(在这种情况下平均值函数不会返回值)

【讨论】:

【参考方案2】:

听起来您指的是从函数中“返回”数据。

这是一个例子:

      int addNumbers(int first, int second)
           int third;
           third = first + second;
           return third;
          

这将允许您调用 addNumbers(4, 8),并让它返回 12。

      printf("The product of 4 and 8 is %d", addNumbers(4,8));

我相信这就是你要问的。

【讨论】:

【参考方案3】:

你可以这样做

float calculateAverage(int a,int b, int c);
void showAverage(float avg);

int main()

     int a,b,c;
     float avg;
     printf("\nEnter value for A: ");
     scanf( "%i", &a);
     printf("\nEnter value for B: ");
     scanf( "%i", &b);
     printf("\nEnter value for C: ");
     scanf( "%i", &c);     
     // calculate the average
     avg = calculateAverage(a,b,c);
     showAverage(avg);


float calculateAverage(int a,int b, int c) 
   return (a+b+c)/3.0;

void showAverage(float avg)

     printf("\nThe average is %f", avg); // &avg is the address we just print we use the value and not the address so don't use &avg but avg

【讨论】:

【参考方案4】:

我会做这样的事情......自从我使用 C 以来已经有很长时间了,但这可能会让你开始......

int main()

     int a,b,c;
     printf("\nEnter value for A: ");
     scanf( "%i", &a);
     printf("\nEnter value for B: ");
     scanf( "%i", &b);
     printf("\nEnter value for C: ");
     scanf( "%i", &c);     

     // now send those to your function to calculate the average and print the result
     showAverage(a,b,c);


function showAverage(int a, int b, int c)

     float avg = (a+b+c) / 3;
     printf("\nThe average is %f", &avg);

【讨论】:

'void showAverage(int a, int b, int c)' and float avg = (a+b+c) / 3.0; 非常感谢您的帮助。我认为这是一个很好的方法,我可能必须像这样提交它,但在我的作业中,我需要一个单独的函数来计算读取值后的平均值,然后是另一个专门用于显示平均值的函数。我意识到这有点不合逻辑,但这是他给我的任务。谢谢 还有一个跳过警告的演员(float)(a+b+c) / 3;

以上是关于在 C 中,如何从用户定义的函数中获取一个值,然后在另一个用户定义的函数中将其打印出来? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?

在用户定义的函数中使用 VLOOKUP

如何在一个文件中定义 C 函数,然后从另一个文件中调用它?

如何从matlab中用户定义的函数返回一个值,该函数的回调在uicontrol中指定

将数字从文本文件读取到 C 中用户定义函数中的数组

如何在 SQL Server 中获取用户定义的表值函数的结果形状? [复制]