[英]C using void function to compute sums of files
我有一個需要使用函數的作業void stats(FILE *in, int *count, double *sum);
,它應該計算每個文件的總和、平均值和整數計數。 我們應該使用stats(in, &count, &sum)
來調用該函數。 如果 stats 函數具有 void 返回類型,我對我應該如何將結果發送回 main 感到困惑。 任何幫助或解釋將不勝感激! 謝謝
您的函數簽名表明每個參數都是一個指針參數(它們以 * 開頭)。 在您的主函數中聲明(並可能初始化)這些變量,然后按照您被告知調用函數的方式傳遞這些變量的地址: stats(in, &count, &sum)
。 該函數將使用您傳遞給它的指針修改主作用域中的這些變量,而不返回任何值。 這是通過引用傳遞(或調用)的示例。
所以總的來說,您的主要功能將具有以下內容:
int main(void)
{
/* some FILE opening here */
int count = 0;
double sum = 0;
stats(in, &count, &sum);
/* rest of your main function */
return 0;
}
如果您想更多地了解 * 和 & 的含義,您應該了解指針在 C 中的工作原理——這里有一個非常基本的資源可以幫助您入門。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.