teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

指摘された通りに直して実行しました。浮動小数のポインターが影響しているようですが、教えていただけますと助かります。

2022/01/08 02:07

投稿

Tora3
Tora3

スコア2

title CHANGED
File without changes
body CHANGED
@@ -7,30 +7,35 @@
7
7
  ### 発生している問題・エラーメッセージ
8
8
 
9
9
  ```
10
- *** stack smashing detected ***: terminated
10
+ diagonalization1-1.c: In function ‘main’:
11
+ diagonalization1-1.c:8:5: error: pointer value used where a floating point value was expected
12
+ 8 | A[3][3] = (double )malloc(i*k*sizeof(double));
11
- Aborted
13
+ | ^
12
14
  ```
13
15
 
14
16
  ### 該当のソースコード
15
17
 
16
18
  ```C言語
17
19
  #include <stdio.h>
20
+ #include<stdlib.h>
18
21
 
19
22
  int main(void) {
23
+
20
24
  int i, j, k;
21
25
  double A[3][3];
26
+ A[3][3] = (double )malloc(i*k*sizeof(double));
22
27
  for (i = 0; i < 3; i++) {
23
28
  for (j = 0; j < 3; j++) {
24
29
  printf("A[%d][%d]=", i, j);
25
- scanf("%lf", A[i*3+j]);
30
+ scanf("%lf", &A[i][j]);
26
31
  }
27
32
  }
28
33
 
29
- int determinant;
34
+ double determinant;
30
35
 
31
36
  determinant = A[0][0] * A[1][1] * A[2][2] + A[0][1] * A[1][2] * A[2][0] + A[0][2] * A[1][0] * A[2][1] - A[0][0] * A[1][2] * A[2][1] - A[0][1] * A[1][0] * A[2][2] - A[0][2] * A[1][1] * A[2][0];
32
37
 
33
- printf("determinant:%d\n", determinant);
38
+ printf("determinant:%f\n", determinant);
34
39
 
35
40
  return 0;
36
41
  }