월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
아래 질문에 대해 추가 질문 드립니다.
아래의 배열의 크기와 fprintf에 대해 질문 에 대한 질문글에서 while의 구조에 대해 생각해보시라고 했는데 도저히 잘 모르겠습니다.. #include <stdio.h> int main(){ char words[3] = {0}; while ((scanf("%s", words) == 1) && (words[0] != '.')) { printf("%s\n", words); printf("%c\n", words[0]); printf("%c\n", words[1]); printf("%c\n", words[2]); printf("%c\n", words[3]); printf("%c\n", words[4]); printf("%c\n", words[5]); printf("%c\n", words[6]); } /*scanf("%s", words); printf("%s\n", words);*/ return 0;} 제가 좀 정확히 확인하고 싶어서 만든 코드인데 디버거 찍어봐도 잘 모르겠습니다. 경고줄만 그이고 입력한 대로 잘 나오더라구요. 주석코드는 당연히 에러가 떴고요. 항상 이런 기본 질문만 해서 죄송하고 일일히 답변해주시느라 수고 많으십니다...
- 미해결홍정모의 따라하며 배우는 C언어
6:30에 나오는 &end가 잘 이해가지 않습니다.
아래에 비슷한 질문이 있는데 봐도 이해가 가질 않아 질문 남깁니다. end는 이미 포인터 변수로 선언되었고 end안에 H주소가 들어갈텐데 왜 &를 붙인건지 모르겠습니다. 그냥 end를 쓰고 내부 함수에서 이중 포인터가 아닌 일반 포인터로 표기했으면 안됐던건가요? 아니면 문법으로 봐야할까요??
- 미해결홍정모의 따라하며 배우는 C언어
프로젝트 안에 여러개의 소스파일
안녕하세요! 강의 따라하다가 질문이 생겨 글 남깁니다! 다름이 아니라 강의에서는 같은 파일을 사용하면서 코드를 계속 지우면서 하셨는데 저는 공부하려고 남겨두고 같은 프로젝트에 소스파일을 추가하였습니다! 그리고 이것을 실행하려고 하니까 main이 이미 있다면서 안되더라구요. 이러한 경우에는 그냥 새 프로젝트를 만들어서 실행하는 것이 가장 좋은 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
24:20 질문있습니다. + 맨 마지막 예제 질문있습니다.
런타임 에러 뜨는 이유가 문자열 제일 마지막에 붙는 \n때문에 그런건가요? + 마지막 예제에서 if(st[i] == '\n') st[i] = '\0'; 의 존재의미가 무엇인가요? 만약 1234567890abc을 입력한다면 1234567890\0이 fgets로 갈 것이고 이 때 \0때문에 else문으로 가서 버퍼가 비워질텐데 애초에 fgets에 \n이 저장될 수 없지 않나요?
- 미해결홍정모의 따라하며 배우는 C언어
9:16 질문 있습니다.
제가 잘 이해한건지 모르겠는데 이차원 배열을 구조적으로 보면 일렬로 나열되어 있으니까 yourthings[0][i]로 나타낼 수는 있겠지만 권장하지는 않는다는 내용인건가요? mythings도 마찬가지구요.
- 미해결홍정모의 따라하며 배우는 C언어
맥 os 에서의 vscode
안녕하십니까 교수님 다름이 아니라 맥북으로 비주얼 스튜디오 코드를 이용해 c언어를 익히고 싶은데 초기설정에서 계속 헤매고 있습니다. 혹시 관련 자료가 있다면 알려주시면 감사할것 같습니다
- 미해결홍정모의 따라하며 배우는 C언어
10.13 22:30 질문 있습니다.
name[0]에는 알라딘의 A의 주소값이 저장되어 있을텐데 이를 문자열로 출력하면 알라딘이 나오는 이유를 모르겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
10.5 8:40 질문 있습니다.
arr[0]이 3개짜리 사이즈에 대응한다고 하셨는데 왜 그런지 잘 모르겠습니다. 부연 설명 해주시면 감사하겠습니다. 또한 2차원 배열을 초기화 할 때, 예를 들어 int arr[ ][ ] = { {1,2,3}, {4,5,6}}; 이렇게 하면 위 빈칸에 각각 3 3이 들어가는게 아니라 오류가 난다고 어렴풋이 알고 있는데 이유 설명 부탁드립니다.
- 미해결홍정모의 따라하며 배우는 C언어
9.12 11:20 질문 있습니다.
int *a_ptr = &a;가 변수a의 주소를 저장하는 변수라고 하셨고 실제로 a_ptr를 출력해보니 a의 주소값이 나오더라구요. 그런데 int b = &a;로 해도 똑같은 주소값이 나오던데 굳이 포인터 변수가 아니더라도 주소를 저장 할 수 있지만 포인터 변수는 일반 변수와 다르게 값을 가르킬 수 있는 것에 의의가 있는 건가요??
- 미해결홍정모의 따라하며 배우는 C언어
9.8 팩토리얼 예제 질문입니다.
int recursive(int n) { int recursive_gop = 1; if (n > 0) recursive(n - 1); if (n != 0) { recursive_gop = recursive_gop * n; printf("%d\n", recursive_gop); } return recursive_gop;} 0 1 2 3 4 5가 쌓인다고 생각하고 재귀함수를 이용해 이렇게 함수를 짜봤는데 recursive_gop이 갱신이 안되고 계속 1로 입력이 들어가면서 팩토리얼 값이 5로 나오더라구요. 문제점이 궁금합니다. 그리고 8.36 교수님이 짜신 재귀 팩토리얼 함수 코드에서 n이 5일때 5*recursive_factorial(4) 재귀 recursive_factorial(4)는 4* recursive_factorial(3) recursive_factorial(3)은 3*recursive_factorial(2) recursive_factorial(2)는 2*recursive_factorial(1) recursive_factorial(1)은 1*recursive_factorial(0) recursive_factorial(0)은 1 뒤에서 부터 차례로 대입해보면 결국 5*4*3*2*1*1이 나오는데 제가 이해한 게 맞는지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
9.7 재귀 호출과 스택 개념 질문드립니다.
0:30코드를 보고 n에 1이 들어가서 if로 인해 2가 쌓이고 이 과정을 4까지 반복하여 if문이 무시가 되면 printf가 1 2 3 4로 쌓인 값들을 맨 위에 있는 4부터 차례로 하나씩 출력하는 것으로 이해 했는데 맞는지 궁금합니다. 또한 int a = 0; a = 1; 이란 코드에서 스택이 되지 않는 이유는 = 이란 대입 연산자때문에 값이 쌓이지 않고 덮어씌워지는 것이 맞나요?
- 미해결홍정모의 따라하며 배우는 C언어
메뉴 만들기 예제 질문 있습니다
아래 코드는 제가 만들어본 코드 입니다. #include <stdio.h> int main(){ char x; while (1) { printf("메뉴를 입력하세요.\n"); printf("a. avengers b. beep\n"); printf("c. count q. quit\n"); scanf("%c", &x); if (x == 'a') { printf("avengers assemble!\n"); } else if (x == 'b') { printf("beep\n"); } else if (x == 'c') { int i, j; int count_num = 0; printf("정수를 입력하세요.\n"); scanf("%d", &i); for (j = 0; j < i; j++) { count_num = count_num + j + 1; printf("%d\n", count_num); count_num = 0; } } else if (x == 'q') { break; } else { printf("다시 시도하세요.\n"); } //while (getchar() != '\n') //continue; } return 0;} 만약 b를 입력한다면 beep이 출력 되고 입력하라는 메뉴판이 하나 뜰거라고 생각했습니다. 그런데 2개 뜨는 것을 확인 후 혹시 b와 null문자(엔터)까지 인식해서 그런건가 싶어 주석으로 표시된 문장을 집어넣어 하나의 문자만 인식하도록 해보았습니다. 그러니까 잘 작동하더군요. 여기서 궁금한 점 말씀드리겠습니다. getchar 함수가 아닌 scanf 함수로 입력을 받았는데 왜 null문자까지 인식이 된 것인지 모르겠습니다. 루프문에 scanf를 이용해 입력을 실행하면 버퍼지우기가 필수인건가요? 질문이 좀 긴데 답변해주시면 감사하겠습니다.
- 미해결홍정모의 따라하며 배우는 C언어
_itoa오류
오탈자가 없는것 같은데 자꾸 저 오류가 뜹니다. 속성에서 CRT_SECURE_NO_WARNINGS 해도 저대로에요ㅠ
- 미해결홍정모의 따라하며 배우는 C언어
2:27 질문 있습니다.
굳이 버퍼 지우기 문장을 넣지않고 c = getchar(); putchar(c); 를 넣으면 안되는 이유가 있나요?
- 미해결홍정모의 따라하며 배우는 C언어
6:08 질문
getchar에서 A 2 4를 입력받는다면 scanf에서는 정수형 밖에 없으니 2 4만 가져오는건가요??
- 미해결홍정모의 따라하며 배우는 C언어
9.10 피보나치 예제 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. #include <stdio.h> int fibonacci(int number); int main(){ for (int count = 1; count < 13; ++count) printf("%d ", fibonacci(count)); return 0;} int fibonacci(int number){ if (number != 1 && 2) return fibonacci(number - 1) + fibonacci(number - 2); else return 1;} if (number > 2) 일땐 되는데 왜 if (number != 1 && 2) 일땐 정상실행 안될까요..,?
- 미해결홍정모의 따라하며 배우는 C언어
2:46 getchar 질문
yes \n 를 쳤다고 하면 if문에서 y일 때, n이 아니니 while문으로 넘어가고 여기에서 y는 \n와 다르므로 다시 while문으로 갈테고, 이와 같이 e s도 \n와 다른데 마지막 \n == \n이니 count++로 넘어가서다시 출력 되는거라고 생각됩니다. 그런데 두번째 문자인 e에 대해서는 다시 if문에서 부터 루프를 돌리지 않아도 되는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
4:30 line_flag 질문
line_flag의 조건 부분이 잘 이해가 가질 않습니다. 만약 첫 줄에 ab를 입력하고 엔터를 친다고 하면 첫번째 if문에서 a는 공백이 아니니 참이 되어 n_chars는 1이 증가가 될것이고 두번째 if문에서 a는 공백이 아니니 참, line_flag는 거짓이라는 초기값을 세워두었으니 거짓의 !(거짓)은 참이 되니 n_lines가 1이 증가가 되는데 이렇게 보면 아직 줄바꿈을 하지도 않았는데 n_line이 증가 되는 것처럼 보입니다....
- 미해결홍정모의 따라하며 배우는 C언어
Double 부동소수점수를 f형식변환자를 이용하여 printf() 할때 출력에 문제가 없는 이유가 궁금합니다
Double 형식으로 저장된 데이터는 8byte 입니다. Printf() 함수에서 float수는 변수 스택에 들어갈때 8byte를 할당하고 출력시 8byte를 사용하므로 데이터스택의 호출크기가 다름으로 생기는 오류는 없을거 같습니다. 하지만 double 형식 데이터를 데이터스택에 저장하는 과정에서 %f를 의식하여 8byte를 할당 했다고 하더라도 float 와 double은 메모리 구조가 다른데 어떻게 해석해 낼 수 있는지 궁금합니다. 혹시 printf() 함수는 데이터 스택에 float를 저장하는 과정에서 저장할 데이터가 float인지 데이터의 크기를 통해 확인하여 단순히 데이터크기만 8byte로 늘려주는게 아니라 데이터구조(=부호,지수,fraction에 할당하는 bit수)를 double의 형식으로 변환하여 저장하고 출력할땐 %f %d 모두 double부동소수점 수의 데이터구조를 기준으로 출력하는건가요? Printf()함수의 데이터스택에 데이터가 저장되는 과정에서 함수의 문자열 속 형식지정자들이 데이터에 할당되는 데이터의 크기에 영향을 미치는 것인지, 컴파일러가 데이터의 크기와 형태만 보고 할당하는 것인지 궁금합니다. 혹시 디버깅을 통해 확인이 가능할까요?
- 미해결홍정모의 따라하며 배우는 C언어
구조체 malloc 으로 문장 입력받기
구조체 할당메모리 강의에서 쓰인 내용을 바꾸어서 배열의 크기를 제가 정하고 문장을 입력받는 코드를 시도해보았습니다. 근데 오류가 뜨고 입력이 안되네요.. 뭐가 잘못된걸까요? 파일 첨부합니다!