[英]Prototyping in C/C++
我正在嘗試創建原型並編寫名為 average 的函數。
我不知道如何創建它,在 lazlo 和 pietra 上有什么錯誤參數太少而無法運行.....
平均接收一組學生考試成績。
average 計算學生分數的平均值
我如何正確創建原型?
#include <iostream>
using namespace std;
double average( int array[], int items); // function declaration (prototype)
int main()
{
int lazlo[] = {90, 80, 85, 75, 65, -10};
int pietra[] = { 100, 89, 83, 96, 98, 72, 78, -1};
int num;
num = average( lazlo );
cout << "lazlo took " << num << "tests. Average: " << lazlo[ num ] << endl;
num = average( pietra );
cout << "pietra took " << num << "test. Average: " << pietra[ num ] << endl;
// function call to average
}
您已聲明average
接受兩個參數:(指向第一個元素的指針)數組和數組中的項數。 問題在於,當您調用average
您只傳遞一個參數:數組(衰減為指向其第一個元素的指針)。 您缺少items
參數。
你的電話應該是這樣的:
num = average(lazlo, 6);
之后打印的消息也不正確。 average
返回平均值,因此num
將是數組中數字的平均值,而不是項目數。 此外, lazlo[num]
將是一個錯誤,因為num
將為64
,並且您的lazlo
數組中沒有第 64 項。
您需要有一個與原型相關聯的實際函數才能使您的代碼工作。 您可以將其添加到您的主要功能下方:
double average( int array[], int items) {
// write your averaging code here
}
完成對平均函數的編碼后,請確保調用它以使輸入的數量和數據類型與您的原型相匹配:
num = average(lazlo, 6);
num = average(pietra, 8);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.