지뢰찾기 문제를 풀려 소스를 작성하던 와중에, 오류가 나서 질문하게 되었습니다.
-------------------------------------------------------------------------------
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m, n; //m = 세로(행), n = 가로(열)
scanf("%d %d", &m, &n);
char** draw = malloc(sizeof(char*) * m);
for (int i = 0; i < m; m++)
{
draw[i] = malloc(sizeof(char) * (n + 1));
}
for (int i = 0; i < m; m++)
{
scanf("%s", draw[i]);
}
return 0;
}
-------------------------------------------------------------------
이런 코드를 작성하였는데, 컴파일시에는 전혀 문제가 없다가 실행하면, scanf함수가 제대로 작동하지 않는 것 같습니다. 특히, 제 생각에 굵은 글씨로 해 놓은 부분에 이르게 되면 작동이 이상해지는 것 같습니다. 그 이유를 도통 모르겠습니다 ㅠㅠ
for (int i = 0; i < m; m++)
{
scanf("%s", draw[i]);
}
원래 for 문의 사용법과 사용한 방법이 다릅니다.
for(int i = 0; i < 10; 10++)
이렇게 쓴 코드와 같습니다.
10을 m으로 바꾸면 문의한 코드와 같습니다.