월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
강의 중 오버플로우(overflow)란 warning 이 보이질 않습니다.
결과 값은 수업 진행대로 잘 나오나 output에서 overflow 워닝이 나오질 않습니다. 답변 부탁드리겠습니다. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <limits.h> //#include <stdlib.h> int main() { unsigned int u_max = UINT_MAX + 1; printf("%u", u_max); //// i to binary representation //char buffer[33]; //_itoa(u_max, buffer, 2); //// print decimal and binary //printf("dicimal:%u\n", u_max); //printf("binary:%s\n", buffer); return 0; } 1>------ Build started: Project: Lecture1, Configuration: Debug Win32 ------ 1>Lecture1.c 1>C:\C\Lecture\Lecture\Lecture1\Lecture1.c(1,1): warning C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 1>C:\C\Lecture\Lecture\Lecture1\Lecture1.c : message : see previous definition of '_CRT_SECURE_NO_WARNINGS' 1>Lecture1.vcxproj -> C:\C\Lecture\Lecture\Debug\Lecture1.exe 1>Done building project "Lecture1.vcxproj". ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
- 미해결홍정모의 따라하며 배우는 C언어
3.13 불리언형
1. 콘솔창에서 출력값 2번째 있는 1의 값이 b1 = 1을 받아서 출력이 된거 같은데 b1 = 0을 받은 다음 b1 = 1로 다시 받아서 출력값이 1이 나온거죠? 2. bool에서 기억해야하는것은 0은 false고 true는 1이다 라고 말씀을 하셨는데 그 의도가 궁금합니다. 11줄: b1 = 0 12줄: b1 = 1 대신 각 각 b1 = false , b1 = true 라고 써도 된다라는 목적으로 말씀하신건지 아니면 다른 의도가 있어서 말씀하신건지요? 3. bool을 쓰는 목적(용도)가 궁금합니다. 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결홍정모의 따라하며 배우는 C언어
strlen 함수
string 헤더 파일을 포함하지 않고 빌딩을 해도 strlen 함수가 컴파일이 되는데 왜 가능한건가요?? 헤더 파일의 포함에 따른 차이는 포함 했을 때 반환값이 size_t로 나오고 포함하지 않으면 int 값으로 나옵니다. 이 이유도 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
정적 변수의 내부 연결
정적 변수의 내부 연결은 referencing delclaration이 없는 건가요?
- 미해결홍정모의 따라하며 배우는 C언어
[9-17 01:18] sizeof(자료형*)의 의미가 궁금합니다
이 강의 챕터 질문 게시판의 이전 게시글 내용과 거의 일맥상통하다고 볼 수 있겠습니다만. int a; int *ptr = &a; 라고 할 때 int *ptr의 int는 '가리키는 자료형의 크기' 라고 알고 있습니다. 그런데 강의 17번줄 코드를 보시면 sizeof(int*)의 경우 어떤 것을 의미하는지 궁금합니다..
- 미해결홍정모의 따라하며 배우는 C언어
while (scanf("%d", &input) == 1)을 사용하지 않는 방법 질문
안녕하세요 이번 강의의 예제에서 while (scanf("%d", &input) == 1) while 문의 조건에 scanf를 넣어서 가르쳐주셨는데, 혹시 이 방법 말고 int main(void) { int input, sum = 0; printf("Enter an integer (q to quit) : "); scanf("%d", &input); while(input == ) // 이부분 { printf("Enter next integer (q to quit) : "); scanf("%d", &input); } sum+=input; printf("Sum = %d", sum); return 0; } 와 같이 while문 조건에 다른 조건을 넣고 하는 방법은 없나요?? 'while(input == ???) 처럼 input이 q일때까지 반복된다' 로 코드를 짜고 싶은데 도저히 모르겠어서요 ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
코드 실행 에러
코드를 직접 쳐보면서 복습을 하던 중 코드를 다 입력하고 실행키를 눌렀는데 아래와 같은 오류가 발생했습니다. 저번에 복습할 때에는 잘 되었는데 어떤 문제 때문인지 궁금합니다
- 해결됨홍정모의 따라하며 배우는 C언어
비주얼 스튜디오 2019를 설치했는데 디버깅이 안되는데 왜그런걸까요..?
삭제된 글입니다
- 미해결홍정모의 따라하며 배우는 C언어
14-4 구조체 배열 연습 문제중
구조체 연습 문제중 s_gets 함수를 통해서 책 이름을 적는 코드중에 저는 if문을 사용하지 않고 s_gets(library[count].title, MAX_AUTHOR) ; 로 문장을 끝내었는데, 강의에서는 if (s_gets(library[count].title, MAX_AUTHOR) == NULL) break; 이렇게 작성을 해주셨습니다. 분명히 전 강의해서 설명 해주셨던거 같아서 계속 찾아보다가 찾을 수 없어서 이렇게 질문을 드립니다. 왜 저렇게 작성을 하셨는지 알려주실수 있으신가요? 답변해주시면 감사드리겠습니다. ( 밑에는 강의 예제 코드를 올려드리겠습니다.) #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #define MAX_TITLE 40 #define MAX_AUTHOR 40 #define MAX_BOOKS 3 char* s_gets(char* st, int n) { char* ret_val; char* find; ret_val = fgets(st, n, stdin); // scanf 불가 // 빈칸이 있는 문자열 입력 받을 수 있다. if (ret_val) { find = strchr(st, '\n'); if (find) *find = '\0'; else while (getchar() != '\n') continue; // 버퍼를 지워버린다.?!?!?!?!?!?!?!?!? } return ret_val; } struct book { char title[MAX_TITLE]; char author[MAX_AUTHOR]; float price; }; int main() { struct book library[MAX_BOOKS] = { {"Empty","Empty",0.0f} }; //-> 기본적으로 초기화 하는 코드 int count = 0; while (1) { printf("Input a book title or press[Enter] to stop.\n>>"); //if (s_gets(library[count].title, MAX_AUTHOR) == NULL) break; 이 부분이 궁금한데 답변해주시면 감사드리겠습니다. s_gets(library[count].title, MAX_AUTHOR); if (library[count].title[0] == '\0') break; printf("Input the author . \n>>"); s_gets(library[count].author, MAX_AUTHOR); printf("Input the price . \n>>"); int flag = scanf("%f", &library[count].price); while (getchar() !='\n') continue; count++; if (count == MAX_BOOKS) { printf("No more books . \n"); break; } } if (count > 0) { printf("\nThe list of books :\n"); for (int index = 0; index < count; index++) printf("\%s\" wiritten by %s: $%.1f\n", library[index].title, library[index].author, library[index].price); } else printf("No books to show. \n"); return 0; }
- 미해결홍정모의 따라하며 배우는 C언어
2:55 질문
double average(double* start, double* end) { int count = end - start; double avg = 0.0; while (start < end) { avg += *start++; count++; } avg /= (double)count; return avg; } while문을 사용할 때 배열 전체 원소의 개수를 직접 세지 않고 주소(포인터)의 차이값 end - start를 이용해 count를 초기화하는 부분인데요 결과적으로 포인터에 얼마를 더하고 빼고는 그 메모리주소에 있는 원소에서 얼마만큼 앞에 있는 원소의 주소나 얼마만큼 뒤에 있는 원소의 주소를 의미하는가로 저는 이해했습니다만 어쨌든 end - start라는 주소값을 int타입 변수에 대입을 했는데 포인터 변수에는 일반 상수를 대입할 수 없고 일반 변수에는 주소값을 넣을 수 없다고 앞에서 배운 것 같은데 이에 대해서 살짝 의문이 듭니다. 이것이 다음강의에 나오는 형식지정자 t와 관련이 있는건가요? 포인터끼리의 뺀 값은 배열 간의 간격을 의미하고 이 간격은 정수이기 때문에 정수로 출력할 수는 있다고 하셨는데 혹시 여기에 해당하는 내용이 아닌가 싶습니다.
- 미해결홍정모의 따라하며 배우는 C언어
디버깅을 통한 값과 빌딩을 통한 값의 차이
자료형을 float로 바꾸고 won에 1000을 입력했을 때 0.89가 나오지만, step over를 통해서 단계 단계 해보니 dollar 값에0.88996으로 나오던데 이유가 뭔가요??
- 미해결홍정모의 따라하며 배우는 C언어
코드 삽입
예를 들어 워드나 한글에서는 삽입 버튼을 눌러 문장 중간에 글자를 써넣으면서 기존의 글자를 지울 수 있습니다. 하지만 c언어 코드를 짜다보면 가끔씩 코드 중간에 추가 내용을 기입하려고 쓰다 보면 뒷부분이 지워지는 현상이 생기는데요. 마치 워드나 한글 파일의 '삽입' 기능을 하도록 하려면 c언어에서는 어떻게 해야 하나요?
- 미해결홍정모의 따라하며 배우는 C언어
명령 프롬프트 에러
4.6과를 직접 코드를 치면서 복습하던 중 ctrl+F5를 쳐서 명령 프롬프트를 실행하던 중 계속 4.5과에 입력했던 이전 코드를 지웠음에도 이전 명령어만 계속 출력되는 문제가 발생했습니다. 이런 경우 기존 명령어를 지우고 나서 확실히 초기화한 후 새로운 코드를 입력하는 방법이 있나요?
- 해결됨홍정모의 따라하며 배우는 C언어
부호있는정수
그냥 이진법수를 보고 부호있는 정수 인지 없는정수인지 어떻게 구별하나요? 명시를 해줘야 하는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
1.13 비쥬얼스튜디오 코드 프로그램 사용법 질문드립니다.
제가 실행시키고 싶은 파일은 JUNE 파일로 출력물이 "Your output is %d" 가 나오길 원합니다. 그러나 terminal에 gcc main.c 입력 후 .\a.exe 를 누르면 main.c 파일의 출력물인 "Your input is %d"가 나옵니다. JUNE 파일에 있는 문자열을 어떻게 출력하는지 방법이 궁급합니다. (강의에선 단순히 파일이 하나 있을 때만 출력하는 법을 알려주셨습니다. 파일이 여러 개 있을 경우 원하는 파일을 선택해서 출력하는 방법이 궁금합니다.) ----------------------------------------------------------------------------------------------------------------------- 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결홍정모의 따라하며 배우는 C언어
3.3 scanf 함수 기본 사용법 강의 (6 분 26초)
3.3 강의 6분 26초 1. _CRT_SECURE_NO_WARNING를 입력해도 에러가 났는데 이유가 무엇인지요? 2. x64를 강의에서 왜 썼는지 궁금합니다. x86을 해도 무방하죠? x64로 바꿔 해보니 에러가 그대로 발생합니다. 3.Release 모드일 때 두개 다 해야한다는게 Debug 때의 _CRT_SECURE_NO_WARNING 와 또 무슨 문자열인가요? 전처리기 정의부분에서 _CRT_SECURE_NO_WARNING 와 뭘 쓰던데 ... 설명이 없어서요. 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결홍정모의 따라하며 배우는 C언어
2차원 배열 질문
int arr[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };을 원소 3개짜리 배열이 2가 있다고 생각하면 된다고 하셨는데 위에서 int arr[0][0]은 1인 것처럼 배열은 0부터 시작하므로 int arr[1][2]로 표현해야 맞는 것 아닌가요?
- 미해결홍정모의 따라하며 배우는 C언어
5.4 3분
아래코드는 강의 속 예시와 다르게 원가가 증가하는 것을 출력하지못하고 0.000 으로 뜨고 while문 안 printf 에서 Severity Code Description Project File Line Suppression State Warning C4477 'printf' : format string '%lf' requires an argument of type 'double', but variadic argument 1 has type 'double *' 위와 같은 두가지 주의의 의미가 무슨뜻이고 어떻게 해야 예시와 같이 출력되나요 #include <stdio.h> int main(void) { double seed_money = 0; double target_money = 0; double annual_interest = 0; int year = 0; printf("Input seed money : "); scanf("%lf", &seed_money); printf("Input target money : "); scanf("%lf", &target_money); printf("Input annual interest (%%) : "); scanf("%lf", &annual_interest); while (seed_money < target_money) { year++; seed_money = seed_money * (1 + annual_interest / 100); printf("%lf\n", &seed_money); } printf("It takes %d years" , year); return 0; }
- 미해결홍정모의 따라하며 배우는 C언어
질문있습니다
포인터의 배열도 값이 주어지지 않으면 초기화 할때 NULL값을 입력해야하나요?
- 미해결홍정모의 따라하며 배우는 C언어
5:18 질문있습니다
1 #include 2 3 int main() 4 { 5 6 char* ptr = 0; 7 8 printf("%zd %zd %zd\n", sizeof(char*), sizeof(double*) , sizeof(long long*)); 9 10 printf("%p %lld\n",ptr ,(long long)ptr); 11 12 ptr += 1; 13 14 printf("%p %lld\n",ptr ,(long long)ptr); 15 16 17 18 } 이때 포인터 변수의 크기는 주소의 크기이므로 4바이트(x86)로 고정되어서 항상 4씩 증가하는 것 아닌가요? 제가 잘못 이해하고 있는 부분이 어딘지 몰라서 이렇게 질문드립니다. (8번째 줄 코드는 제가 추가한 것입니다)