- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. C언어로 문제를 풀었는데 시간 초과가 났습니다. 18줄에 입력 받은 문자열이 홀수인 경우 좋은 단어가 아니어서 스택에 넣지 않는 코드를 추가하니 맞았습니다. 강사님이 해주신 풀이와 시간 초과가 난 제 코드와 로직자체는 똑같은 거 같은데 왜 제 코드에서만 시간 초과가 나는지 이유가 궁금합니다 http://boj.kr/9bf35b8f265844a7b22acec8cf31200a
안녕하세요. 따라해 보며 진행 중 질문 드립니다. printf("long long = %lld, %ld\n", ll, ll); VS에서 위 라인에 초록색 물결 밑줄이 생깁니다. 마우스를 올려다 보면 다음과 같은 메시지가 나옵니다. C6328: Size mismatch: '__int64' passed as _Param(3)_ when 'int'is required in call to 'printf'. 또한 빌드를 해보면 output 창에 다음과 같은 메시지가 함께 뜹니다. warning C4477: 'printf' : format string '%ld' requres an argument of type 'long', but variadic argument 2 has type '__int64' message: consider using '%lld' in the format string message: consider using '%l64d' in the format string solution Configureration과 solution platform은 수업처럼 Debug x86입니다. vS2019사용 중입니다. 수업 화면과 달리 이런 메시지들은 왜 뜨는걸까요?
안녕하세요. printf("5+(a<b)=%d\n",5+result1); 출력결과가 5+(a<b)=6이라고 설명해 주셨는데, 출력값 관련해서 궁금한게 생겨서 질문드립니다. 문제에 출력 명령문이 printf("5+result1=%d\n",5+result1); 위와 같이 되어 있으면 결과는 어떻게 되나요? 5+1=6이 되나요? 아니면 5+result1=6이 되나요? 그 이유도 설명해 주시면 감사드리겠습니다.
22:14초의 코드에서 %s arr[0][0]의 의미는 포인터 강의에서 배운 바로는 %s는 가리키고 있는 주소의 첫번째 값부터 널문자를 만날때까지 출력한다라고 배워서 Hello를 출력하는 것을 이해했었습니다 하지만 23:46부분에서 포인터를 사용할때는 arr[0][0][0]을 출력할때는 Hello중 H를 가리키는 주소를 가지고 있는건가요? 그럼 arr[0][0]과 같은 값을 가리키고 있는건데 제가 잘못 알고 있는건지 궁급합니다
강의 앞부분에서는 JAVA에서는 print 뒤에 ln을 붙여서 개행한다고 설명해 주셨습니다. 그런데 뒷부분 예제에 Systenm.out.print("Character:"+ch+"\n"); 이런 명령문구가 있는데 정답 해설하실 때도 \n에 대해서는 설명 안해주시네요. 작성해 주신 출력 결과를 보면 Character:A가 출력되고 개행이 되는 것 같은데, JAVA에서 +"\n"으로도 개행을 할 수 있는건가요?
포인터 조작과 출제 패턴 (2. 포인터 증가/감소, 이중 포인터) 9:35 printf("%c\n", *(ptr_a+1)); 여기서 ptr은 str[] 배열이기 때문에 H값이 온다는 것은 이해를 했는데 printf할 때 배열 단위로 오면 printf("%c\n", *(ptr_a+1)) 오는 것 같고 배열에서 특정 위치를 표현하는 printf("%c\n", ptr_a[1])가 오는 것 같은데 같은 배열을 이용하는 건데 * 사용 대해서 차이가 위 설명이 맞을까요?
포인터 조작과 출제 패턴 (2. 포인터 증가/감소, 이중 포인터) 3:36 배열의 경우는 메모리 주소와 같은 개념이라고 이해했는데 char *ptr_a=a; 경우 a는 배열 내 첫번째 요소를 의미하는 것으로 "H"로 지정된다는 것을 이해를 했습니다. 다만, printf("%c/n", * ptr_a);에서 변수 앞에 출력하고자하는 변수 앞에 *가 있으면 해당 메모리 주소의 값으로 출력이 된다고 하였는데 배열일 경우, printf("%c/n", *ptr_a) 값과 printf("%c/n", ptr_a) 값은 같은건가요? 일반적으로 *가 없으면 메모리 주소를 출력하는 것으로 알고 있습니다.
21:09 지금 까지 이해한 포인터의 방법은 주소 사용할때는 & 또는 생략, 값을 사용할때는 *로 이해하고 있습니다. 해당 printf("%s\n", arr[0][0]); 라는 구문에 질문이 있습니다. 포인터 변수로 해당 문자열의 주소를 각 맵핑하였고 배열에 맞게 출력하는걸로 해석이 되는데 이때 왜 값을 안 가져오고 주소를 가져오는지 궁금합니다. 또한 %s로 출력하고 해서 주소대신에 값으로 가져오는지 궁금합니다.
유형 9번에서 처음에 Child obj = new Child(); 의 뜻이 Child 타입의 새로운 생성자를 생성하는 것이고, 이 생성자의 자식 class로 갔는데, 생성자가 없고, 부모에도 생성자가 없어서 출력되는 값은 없는 것이고, 그 뒤의 obj.display()코드를 실행해 display의 메서드에서 부모로부터 상속받아 Parent display, Child display가 답이 되는것이 맞을까요?