#include<stdio.h>
int calc_perc(int r){
float A, B, C, OTHER;
int fullSections, leftover;
const int FULLCLASS = 25;
fullSections = r/FULLCLASS;
leftover = r - (FULLCLASS*fullSections);
A = r*0.30;
B = r*0.25;
C = r*0.15;
OTHER = r*0.30;
printf("\nEnrollment: %d students\n", r);
printf("Full sections: %d\n", fullSections);
printf("Left over: %d students\n", leftover);
printf("\n Students expected to recieve an A: %0.2f ", A);
printf("\n Students expected to recieve a B: %0.2f ", B);
printf("\n Students expected to recieve a C: %0.2f ", C);
printf("\n Students expected to recieve some other grade: %0.2f\n\n", OTHER);
printf("=======================================\n\n");
}
int main(void)
{
int students1, students2, students3;
printf("Elijah Grote\n");
printf("\nEnter three enrollments on one line: ");
scanf("%d %d %d", students1, students2, students3);
calc_perc(students1);
calc_perc(students2);
calc_perc(students3);
return 0;
}
Ошибка, о которой я думаю, происходит либо в calc_perc, либо в scanf ... Но я не могу понять, какой и почему он это делает ... Он компилируется чистым, но когда я ввожу номера для учащихся 1, 2 и 3, это дает мне ошибку сегментации. Я использую Unix, и когда я делаю a.out и вводим это после того, как он запрашивает 3 числа: 56^H^H, он печатает правильный формат, но не имеет правильных номеров ... что-то делать с неправильным распределением памяти или плохой указатель?Ошибка сегментации по методу в C
Цените любую помощь,
Благодаря
OP должен рассмотреть возможность использования '-Wall' с' gcc' - компилятор предупредил об этой проблеме. –
@MichaelBurr: Вы в основном правы, но я считаю, что вопрос под рукой подразумевает, что OP имеет гораздо более простые вещи, чтобы учиться, прежде чем попасть в конфигурацию компилятора. –