목록개발 공부/C (47)
EASY7
미로 길 찾기 #include #include int matrixPath(int **m, int r, int c, int i, int j, int **M, int **N) { if (i == 0 && j == 0) return m[i][j]; else if (i == 0) { if (N[0][j] == 0) { M[0][j] = matrixPath(m, r, c, 0, j - 1, M, N) + m[i][j]; N[0][j] = 1; } return M[0][j]; } else if (j == 0) { if (N[i][0] == 0) { M[i][0] = matrixPath(m, r, c, i - 1, 0, M, N) + m[i][j]; N[i][0] = 1; } return M[i][0]; } else..
C언어 디버깅 매크로 ctrl + F5 디버깅 없이 실행 F5 디버깅 시작 shift + F5 디버깅 종료 F10 다음 줄 / 디버깅 시작 F11 다음 줄 (함수를 만나면 함수 내부로 감) F9 중단점 설정/ 해제 F5 중단점으로 바로 가기
strcpy_s (복사 받은 변수, 길이, 원본)
1. #include scanf("포맷", &변수) format을 통해 정확한 입력을 할 수 있다. 하지만 공백을 읽을 수가 없어서 문자열을 받는데에 부적합하다. 2. #include gets(변수) 1줄을 입력할 때 줄 바꿈(엔터)키를 누를 때까지 1줄을 읽는다. 읽은 문자열은 줄 바꿈하는 곳에서 \0이 붙여진 배열이 저장된다. ※gets 함수는 크기에 제한을 두지 않기 때문에 위험한 함수라서 추천하지 않는다. 에러가 퐉 뜸 3. #include fgets(변수, sizeof(변수), stdin) fgets사용1 printf("텍스트 끝에 삽입할 라인:\n"); fflush(stdin); while (fgets(newElement, MAX_CHAR_PER_LINE, stdin) != NULL) { pr..
Visual Studio가 2015부터는 보안이 강화되었어요. scanf("%s", sentence) --> X scanf_s("%s", sentence, sizeof(sentence)) -->O 버퍼를 지울 때도 fflush(stdin); --> visual studio2015 이전 버전 while (getchar() != '\n'); -->visual studio 2015 부터 gets할 때도 gets(sentence); --> visual studio2015 이전 버전 gets_s(sentence, sizeof(sentence)); -->visual studio 2015 부터
함수의 매개변수에 구조체를 보낼 때는 포인터가 아닌 값이 들어간다. #include struct m { int x; }; void swap(struct m mm) { mm.x = 5; } int main() { struct m matrix; matrix.x = 3; printf("바꾸기 전: %d\n", matrix.x); printf("바꾸기 후 : %d\n", matrix.x); } 3 3
#include #include int main(){ int i=0; char a[3]; memset(a, 65, 3); for(i=0; i