#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1;
scanf("%d", &num1);
int** m = malloc(sizeof(int*) * num1);
for (int i = 0; i < num1; i++)
{
m[i] = malloc(sizeof(int) * num1);
}
for (int i = 0; i < num1; i++)
{
for (int j = 0; j < num1; j++)
{
if (i = j)
m[i][j] = 1;
else
m[i][j] = 0;
}
}
for (int i = 0; i < num1; i++)
{
for (int j = 0; j < num1; j++)
{
printf("%d ", m[i][j]);
}
printf("\n");
}
for (int i = 0; i < num1; i++)
{
free(m[i]);
}
free(m);
return 0;
}
이 코드를 출력할 경우 첨부한 사진처럼 0행 0열의 값이 1아닌 0이 나오고 다른 값들은 쓰레기 값이 나오는 이유가 궁금합니다..