Правильно ли передается массив в функцию - C (СИ)
Формулировка задачи:
Подскажите пожалуйста что я сделал не так - код работает, но компилятор выдает такие сообщения:
Проблема в неправильной передаче массива в функцию?
[/C]
// подведение итогов продаж
#include <stdio.h>
#define SELLER 4
#define PRODUCT 5
void printTable (float [][PRODUCT]); // "previous declaration of 'printTable' was here"
int main () {
int seller, product;
float total;
float sales[SELLER][PRODUCT] = {0};
//заполняет массив данными
printf("Enter salesman number (1-4) (-1 to end): ");
scanf("%d", &seller);
while (seller != -1) {
printf("Enter product category (1-5): ");
scanf("%d", &product);
printf("Enter sales total: ");
scanf("%f", &total);
sales[seller - 1][product -1] += total;
printf("Enter salesman number (1-4) (-1 to end): ");
scanf("%d", &seller);
}
//выводит таблицу на печать
printTable (sales);
return 0;
}
printTable (float sales[][PRODUCT]){ //"return type defaults to 'int'" "conflicting types for 'printTable'"
int i, k;
printf("\n\n");
for (i = 0; i <= SELLER - 1; i++){
for (k = 0; k <= PRODUCT - 1; k++){
printf("%.2f ", sales[i][k]);
}
printf("\n");
}
}
[C]Решение задачи: «Правильно ли передается массив в функцию»
textual
Листинг программы
void printTable (float sales[][PRODUCT]){
Объяснение кода листинга программы
- В данном коде представлена функция printTable, которая принимает в качестве аргумента массив sales, представляющий собой таблицу продаж.
- Массив sales имеет тип float и размерность PRODUCT, где PRODUCT - это константа, определяющая количество столбцов в таблице.
- В функции printTable происходит печать содержимого таблицы продаж.
- Каждый элемент массива sales представляет собой отдельную строку таблицы, а каждый столбец таблицы представлен отдельным элементом массива.
- В функции printTable происходит итерация по каждому элементу массива sales и вывод его значения на экран.
- Для печати таблицы может использоваться специальная формула или шаблон, который определяет формат вывода каждого элемента массива.
- В результате выполнения функции printTable на экран будет выведена таблица продаж с заданными значениями.