월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C언어
n1 = 1; 입력 부분에서
n1 = 1; 적었는데 n1에서 계속 오류가 나네요. 보니까 n1이란 명령어가 따로 존재해서 이런 오류가 나는 듯한데 어떻게 하나요?
- 해결됨홍정모의 따라하며 배우는 C언어
16:54 질문 드립니다.
강의 화면 64번째,65번째 줄에 관한 질문입니다. 65번째줄: printf("%p\n", arr[0]); 에서 arr[0]은 arr[0][0]을 가리키는 상수형 포인터로 알고있습니다. 그래서 arr[0]에는 arr[0][0]의 주소값이 담겨져 있을거라고 생각했습니다. 제가 궁금한 것은 64번째줄: printf("%p\n",&arr[0]); 가 왜 정상적으로 작동하는지 모르겠습니다. arr[0]은 이미 arr[0][0]의 주소값을 저장하고 있는 상수형 포인터인데, 상수형태에 &연산자를 붙이는것이 어떻게 가능한 일인지 궁금합니다.
- 미해결홍정모의 따라하며 배우는 C언어
8진수 16진수 궁급합니다!
안녕하세요 강의 (3.8_8진수와 16진수 2분 40초) 비트 관련하여 궁하여 작성합니다! 2진수는 32비트라 1이 32인게 이해가 되는데요 8진수는 왜 7이 10개인지 궁금합니다!! (그리고 앞에 왜 3이 들어 가는지도 알려주시면 감사드립니다) 16진수는 왜 f가 8개인지 궁금합니다!!
- 미해결홍정모의 따라하며 배우는 C언어
Buffer 질문 있읍니다.
#include <stdio.h> void display (char cr, int lines, int width) { int row, col; for (row = 1; row <= lines; row++) { for (col = 1; col <= width; col++) putchar(cr); putchar('\n'); } } int main() { char c; int rows, cols; while (1) { scanf("%c %d %d", &c, &rows, &cols); //while (getchar() != '\n') continue; //{ display (c, rows, cols); if (c == '\n') break; //} } } (space는 (sp)로 표기하겠습니다. 질문 1) A(sp)3(sp)3A(sp)3(sp)3(sp)(Enter) B(sp)1(sp)2(sp)(Enter) 을 입력하면 3분 5초의 결과 값이 나오게 됩니다. 이러한 결과가 나오게되는 과정이 맞는지 확인해 주세요. (ASCII code로 쓰지는 않겠습니다.) A(sp)3(sp)3(sp)(Enter) 후 buffer에 [A, (sp), 3, (sp), 3, (sp), \n] 이 저장되어 있다. While문이 한번 돌고 buffer에는 [(sp), \n]이 존재한다. c주소에는 A, rows주소에는 3, cols 주소에는 3이 저장되어 있다. 두번째 while문이 시작된다. buffer에 값이 있으므로 scanf함수가 c 주소에 (sp)를 저장한다. scanf함수가 \n도 가지고 오려 하지만 \n의 자료형이 정수가 아님으로 scanf 함수가 종료됩니다. 따라서 c 주소에 (sp), rows 주소에 3, cols주소에 3이 저장된 채로 display함수가 실행 됩니다. 따라서 3*3의 공백이 출력 됩니다. 세번째 while문이 시작됩니다. buffer가 비었음으로 scanf가 자료를 읍력 받습니다. 따라서 buffer에 [B, (sp), 1, (sp), 2, (sp), \n]가 저장되고 그후는 첫번째 while문이 실행될때랑 똑같습니다. 따라서 결과로는 3분 5초의 결과 값과 같이 나옵니다. 질문 2) 질문 1에서 두 번째 while문 일때 3*3 공백이 출력 되어야 하는데 왜 3번째 while 문이 작동할때 Enter을 누른뒤 3*3 공백과 2 * 1 B가 출력 되는 것인가요? 질문 3) while(getchar() != '\n') continue; 코드가 어떻게 buffer을 초기화 시켜주는 것인가요? continue 때문인가요? 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
8.5 3분에 예제 buffer 질문 있습니다.
8.5 3분 예제 1)강의에 알려주신데로 입력 했는데 강의 와는 다르게 B 1 2를 입력한후 12칸의 빈 줄이 생겼습니다. 2)또한 buffer가 어떤 상태라서 두번째 입력(B 1 2)을 하였을때 빈칸이 생기는지 궁금합니다. 감사합니다.
- 미해결홍정모의 따라하며 배우는 C언어
float 관련하여 질문드립니다!!
위 그림과 같이 float는 4바이트인데 왜 8바트로 변화이 된다고 나온건지 궁금합니다. 항상 궁금한것을 답변해주셔 감사합니다!!!!!
- 미해결홍정모의 따라하며 배우는 C언어
1.11 명령 프롬포트 관련해서 질문있습니다!
x86 Native Tools Command Prompt for VS 2019를 실행시켜서 explorer . 실행 후 cd .. 까지 실행은 성공했는데 cd pre 치고 탭 키를 누르는데 컴퓨터에서 미실행 소리만 나고 preview 완성이 안됩니다. 그리고 preview를 직접 입력을 해서 실행을 해도 '지정된 경로를 찾을 수 없습니다.' 이렇게 뜨는데 뭐가 잘못된 걸까요? ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
scanf관련하여 질문드립니다!!
위에 그림과 같이 _CRT_SECURE_NO_WARNIGS을 추가하여도 scanf밑에 초록색 선이 계속 나타납니다 교수님 강의 동영상을 보면 녹색선이 안나오시던데..... 컴파일 실행 시 문제는 없지만 시각적으로 보기 불편합니다 혹시 숨기거나 안나오게 하는 방법이 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
좀 이상할수 있는 포인터 질문입니다....
보시다시피 주소값의 최소 단위는 4byte라고 강의에서 배웠는데요. 이게 말하자면 4byte 간격으로 데이터를 저장할 수 있다는 의미 이잖아요. 위 코드는 말그대로 어떤 주소값에 1을 더하면 4byte 만큼 증가하니까 그 증가된 주소값에 새로운 데이터를 적용할 수 있겠다 싶어서 그걸 구현한 코드인데요. 코드는 제가 예상한 것대로 잘 나오는데 저런 알수없는 경고표시가 뜹니다. 혹시 왜그런건지 알 수 있을까요? 아 그리고 주소값을 2를 더하면 8byte만큼 증가라는 뜻이잖아요 1이 아니라 2 이상을 더해주면 위의 경고문구가 안뜹니다. 또 질문이 있는데 위의 코드는 x64환경에서 디버깅 할시 주소값을 1 더했을경우 4byte 간격으로, 2를 더했을 경우 8byte 간격으로 잘 나오는반면에 x86환경에서 디버깅을 할시 2를 더했을때 어쩔때는 8byte 간격으로 잘 나올때도 있는데 어쩔때는 2byte 간격으로 출력이 됩니다. 혹시 이것도 왜이런건지 알 수 있을까요? 아... 제가봐도 질문이 너무 이상해서 죄송합니다 ㅠㅠ
- 미해결홍정모의 따라하며 배우는 C언어
헤더파일에 함수를 작성하지 않는이유
강의 내용을 보면 헤더파일엔 함수를 선언만하고 함수의 정의는 다른 c파일에 정의를 하여 사용하는걸로 나오는데요. 굳이 c파일을 하나 더 만들지 않고 아예 헤더파일에 함수를 정의해서 사용해도 정상적으로 사용가능한데 이런 방식으로 사용하지 않는 이유를 알 수 있을까요?
- 미해결홍정모의 따라하며 배우는 C언어
int c=0; 3+(c=1+2); printf("%d\n",c);
출력값이 3이 나옵니다. 버젼마다 다른걸까요 ?
- 미해결홍정모의 따라하며 배우는 C언어
코드를 그대로 했는데 중간부터 출력이 안됩니다
앞부분의 printf 와 scanf부분은 작동을 하는데 이후 double fund = seed_money; 부분 부터 작동을 하지 않는지 마지막 scanf까지 입력을 다했는데도 끝의 printf 콘솔창에 뜨지 않습니다. 어떤 오류가 있는 것인가요?
- 해결됨홍정모의 따라하며 배우는 C언어
signed integer의 최댓값을 2진수로 출력할 때, 31bit만큼만 출력되는 것에 대한 질문
signed int 타입 변수의 최댓값을 2진수로 출력해보면 31bit만큼만 출력됩니다. 최솟값을 출력했을 때는 32bit 만큼 출력되는데 어째서 최댓값 출력할 때는 31bit만큼만 나오는 것일까요? 32bit만큼 출력해서 0111 ... 1111 이렇게 나오게 하려면 어떤 라인에서 수정해야할까요?
- 해결됨홍정모의 따라하며 배우는 C언어
강의에 나오는 코드중 input값이 100보다 크면 무시하는 코드
100을 입력하였을때 전 continue 로 인해 무시하고 넘어갈줄 알았는데 맥스값에 출력되는걸보니 실제로 입력한 100과 100.0f 는 다른 건가요? 앞선 강의에서 배웠던 부동소수점 정밀도에 관련되있는건가요?
- 미해결홍정모의 따라하며 배우는 C언어
문자를 입력하면 무한 루프가 됩니다
문자를 입력하면 무한 루프가 됩니다. scanf에서 정수형은 문자 앞까지만 입력을 받는데, 실행 후, 우선 첫루프에 10을 입력하면 10secs 0mins 0hurs가 당연 출력되고, 다음 루프에 a를 입력하면 scanf는 문자까지만 입력을 받으므로 그대로 통과하고 seconds변수에 여전히 10이 남아있어 그런지 scanf에서 대기하지 않고 쭉 계속 10secs 0mins 0hurs를 출력하고 무한루프가 됩니다. 그리고 처음부터 a를 입력하면 초기화 된 seconds에 0이 있어서 인지 0secs 0mins 0hurs을 출력하고 무한루프가 됩니다. 이 현상을 생각해볼떄 seconds변수에 어떤값도 없어야 scanf를 만날때 컴퓨터는 멈추고 입력을 기다리게 되는 것 같기도 합니다. scanf의 &변수(&seconds)가 어떤 의미가 있지 않을까하는 상상을 해보았습니다. 상세 설명 부탁드립니다
- 해결됨홍정모의 따라하며 배우는 C언어
a를 입력했을때 카운트되면 안되는거 아닌가요?
(사진)
- 해결됨홍정모의 따라하며 배우는 C언어
if문 조건식안에 print함수는 ;가 필요없어도 작동되는겁니까?
(사진)
- 미해결홍정모의 따라하며 배우는 C언어
strcpy(genie.name, "Will Smith"); 에 대한 질문입니다.
안녕하세요? 강의 초반에 genie 라는 struct person 의 변수를 생성하고 genie의 name 을 설정할 때 genie.name = "Will Smith"; 라고 하니 수정할 수 있는 L-Value 가 아니라고 나오는데 이유가 무엇인가요? genie.age 나 genie.height 는 대입연산자(=)로 대입이 가능한데 name 만 함수로 입력해야 하는 이유가 궁금합니다. (struct person 구조체를 만들 때 char name[MAX]; 가 아니라 *char name; 으로 선언하면 genie.name ="Will Smith"; 가 되던데 둘의 차이도 궁금합니다)
- 미해결홍정모의 따라하며 배우는 C언어
cmd 에서 명령줄인수에 txt 파일은 어떻게 받아오나요?
프로젝트 속성 > 디버깅 경로에서 명령줄인수에 input.txt 를 받아오는 방법은 할 수 있는데, 커맨드라인에서 exe 파일을 실행할 때 제일 끝에 input.txt 나 "input.txt" 를 입력해도 텍스트 파일을 받아올 수가 없다고 나오는데 어떻게 입력을 해야 텍스트 파일을 받아올 수 있나요?
- 미해결홍정모의 따라하며 배우는 C언어
3번째 예시 질문
3번째 예시를 시작지점 알파벳과 첫행기준 얼만큼 출력할지를 입력으로 받아서 출력하는 걸로 변형을 해봤는데요 교수님이 코딩한거랑 다르게 변수를 추가를하여 작성하였는데요. 그로인해 코드의 길이가 더 늘어난 감이 없지않은데 혹시 이런방식이 속도면에서 문제가 되는지 궁금합니다. int main() { char alphabet = 0; int number = 0, originNumber = 0; char originAlphabet; printf("%s\n", "Input Alphabet what you want to start through and how many to print"); scanf("%c %d", &alphabet, &number); originAlphabet = alphabet; originNumber = number; printf("%s\n\n", "Result is being printed......"); for (int i = 0; i < originNumber; i++) { alphabet = originAlphabet++; for (int j = 0; j < number; j++) { printf("%c ", alphabet); alphabet++; } number--; printf("\n"); } printf("%s\n", "Printing completed....."); }