Exception class EAccessViolation with message 'Access Violation' - C (СИ)
Формулировка задачи:
#include <stdio.h> #pragma hdrstop #include <stdlib.h> #include <conio.h> float **A, *B, *X; int n; int i, j; int inputmatrix(float **, float *, int); //int printmatrix(float **); int main() { printf("Vvedite razmer matricu: "); scanf("%d",&n); inputmatrix(A,B,n); getch(); return 0; } int inputmatrix(float **A, float *B, int n) { A = malloc(n*n*sizeof(float)); B = malloc(n*sizeof(float)); printf("Vvedite elementu osnovnoy matricu %dx%d:\n",n,n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf("%f",&A[i][j]); // <<< ЗДЕСЬ } } return 0; }
First chance exception at $76AAB727. Exception class EAccessViolation with message 'Access Violation'. Process lab6.exe (5440)
Решение задачи: «Exception class EAccessViolation with message 'Access Violation'»
textual
Листинг программы
A = malloc(n*n*sizeof(float));
Объяснение кода листинга программы
A
- это переменная, которая хранит указатель на выделенную память. ЗначениеA
- это адрес выделенной памяти.n
- это переменная, которая содержит размер массива. Значениеn
- это размер массива в элементах.sizeof(float)
- это выражение, которое вычисляет размер одного элемента массива в байтах. В данном случае, размер одного элемента массива составляет 4 байта.malloc(n*n*sizeof(float))
- это функция, которая выделяет память для массива. Функция принимает размер массива в элементах и выделяет память для массива размером n*n элементов типа float.A
- это переменная, которая хранит указатель на выделенную память. ЗначениеA
- это адрес выделенной памяти.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д