묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨홍정모의 따라하며 배우는 C언어
한 번에 여러 개의 값을 입력했을 때에 관해 질문이 있습니다.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { // TO DO : q가 입력될 때까지의 입력받은 모든 정수 합 출력 // 1. 준비 int input = 0; // 입력을 저장할 변수 int sum = 0; // 합계를 저장할 변수 int status = 0; // scanf의 반환값(입력값의 갯수)을 저장할 변수 // 2. 입력 printf("Enter an integer (q to quit) : "); status = scanf("%d", &input); // scanf()의 동작 // 입력받은 값이 형식 지정자의 형식과 일치할 경우 입력으로 취급하여 입력값의 갯수 반환 // 입력받은 값이 형식 지정자의 형식과 일치하지 않을 경우 입력으로 취급하지 않으며 0을 반환 // * 성공적으로 스캔된 입력의 갯수 확인용 printf("%d\n", status); // 3. 반복 while (status == 1) { // scanf()의 반환값이 1일 때만 반복 // 현재 루프에 대한 처리 sum = sum + input; // 다음 루프 printf("Enter next integer (q to quit) : "); status = scanf("%d", &input); } // 4. 출력 printf("SUM = %d\n", sum); }; 1 2를 입력하니 "Enter next integer (q to quit) : " 문장이 2개 출력되었지만1 2를 모두 입력으로 인식했는지바로 sum을 출력했을 때 3이 출력됬습니다. 다음으로 1 2 3 4 5를 입력하니"Enter next integer (q to quit) : " 문장이 5개 출력되었지만 sum을 출력해보니 10이 출력됬습니다. 저는 scanf의 형식 지정자와 값을 저장할 변수를 하나만 지정했는데 왜 5개 입력에 대해서 5번 루프를 실행하고 sum의 값이 정상적으로 출력되었는지 잘 이해가 안되서 질문 드립니다.. 그리고 scanf()는 입력한 값의 형식이 형식 지정자의 형식과 일치할 경우 스캔에 성공한 입력의 갯수를 반환한다고 배웠는데중간에 scanf의 반환값을 printf()해서 성공적으로 스캔된 입력의 갯수를 확인해 봤을 때 형식에 맞는 변수를 여러 개 입력해도 1이 출력되던데 이유가 뭘까요,,??
-
해결됨홍정모의 따라하며 배우는 C언어
2:26 부분 관련해서 질문드립니다
double을 float로 변환할 때 float의 가수부가 저장할 수 있는 23비트를 초과하면 23비트까지 저장하고 초과한 부분은 모두 절삭된다고 하는데 맞는건가요?? 절삭이 되면 항상 값이 줄어야 하는데 아래 코드로 해보니 결과가 좀 다르게 나와서요..#include <stdio.h> int main() { double d1 = 3.1415928; float f1 = d1; printf("%.7f\n", d1); printf("%.7f\n", f1); double d2 = 3.1415929; float f2 = d2; printf("%.7f\n", d2); printf(".7f\n", f2); }; double형 3.1415928를 float로 변환하면 3.1415927로 값이 줄어서 나오는데double형 3.1415928를 float로 변환하면 3.1415930으로 값이 증가해서 나옵니다..왜 이렇게 나오는지 알 수 있을까요?? 3.1415928≈11.00100100001111110110101010000010이며 이 중 가수부로 저장되는 비트는 00100100001111110110101이고 나머지 010000010는 버려진다는 것과3.1415929≈11.00100100001111110110101010000011이며 이 중 가수부로 저장되는 비트는 00100100001111110110101이고 나머지 010000011는 버려진다는 것인데버려지는 비트를 제외하고 저장되는 값은 11.00100100001111110110101로 똑같은데 왜 변환된 값은 3.1415927과 3.1415930인지 잘 모르겠습니다.
-
해결됨독하게 시작하는 C 프로그래밍
혹시 섹션 11 switch-case문 짊문입니다.
scanf_s("%d%c%d", &x, &cOperator, 1, &y);왜 scanf_s에 1 없이 해보니 안되던데 왜 그런건가요?
-
해결됨독하게 시작하는 C 프로그래밍
C공부와 학습에 대한 총 투입시간 질문.
선생님 강의로 열심히 공부하는 학생입니다. 학습에 투입되어야하는 시간관련해서 질문이 있습니다. C언어 공부를 이제 막 시작했는데요, 유튜브 영상과 해당 강의에서도 "하루 3시간 강의 + 혼자 3시간 학습" 스케쥴로 매일한다고 가정했을 때 C언어 공부만 2개월을 공부해야 한다고 하셨는데요, 독하게 시작하는 C프로그래밍 수업은 30시간 정도인데요, 하루 3시간씩 강의를 들으면 10일에 끝나게 되는 걸까요..? 선생님 말씀을 제가 오해한 것인지 여쭤봅니다.해당 강좌로 C언어의 어느정도 수준까지 학습을 하게 되는 것인지 알고 싶습니다.그리고 해당 강좌를 끝까지 모두 수강하면(스스로 익히는 것까지 포함) 이후 학습해야할 강좌나 커리큘럼이 어떻게 되나요?항상 감사드립니다^^
-
미해결문제로 배우는 C언어
for문에서 sum 관련 질문
3번째 예제에서 sum=0; 이 정확히 어떤 의미를 말하는 건가요?
-
미해결문제로 배우는 C언어
이렇게 풀어도 맞는걸까요?
안녕하세요 선생님하고 다르게 풀이를 하였는데 맞는걸까요? for (int i = 0; i < 9; i++) { scanf_s("%d", &arr[i]); } scanf_s("%d", &r); for (int i = r; i < 9; i++) { printf("%d ", arr[i]); } for (int i = 0; i < r; i++) { printf("%d ", arr[i]); } return 0;
-
미해결독하게 시작하는 C 프로그래밍
비주얼 스튜디오 관련 여쭤봅니다..
해당 수업에서 gets함수를 활용한 코드를 컴파일하여 실행하면 다음과 같은 문제가 뜨면서 실행이 안됩니다.. 이전 hello world 출력할 때는 문제 없이 실행이 됐엇는데, 다른 프로젝트 생성 후 실행하면 이런 문제가 뜨니 미치겠습니다 ㅜㅜ 인터넷 서칭으로 계속 찾아보곤 있는데, 선생님께서 혹시 해결 방안을 아시는가 싶어 질문드립니다..
-
해결됨독하게 시작하는 C 프로그래밍
단/항 증감연산자 12:44 결과값
위의 출력값은 24가 나와야할것 같은데 25인 이유를모르겠습니다. Chat gpt에게 코드를 똑같이보여줘도 24라고하네요..
-
해결됨독하게 시작하는 C 프로그래밍
보수와 수의 음수는 같은 게 아닌가요?
뺄셈이 보수의 덧셈이라고 하셨는데 1 - 1과 1 + (-1) 과 같은 개념이니 보수와 수의 음수는 같은 거 아닌지 여쭤보고 싶습니다.
-
해결됨독하게 시작하는 C 프로그래밍
평균값 구하기
안녕하세요. 강사님께서 작성하신 코드와 제가 작성한 코드를 비교를 해봤는데 작동은 되는데 다른 부분이 있어서 질문 드립니다.아래와 같이 코드를 짜면 혹시 불필요한 부분이 있을지요? #include<stdio.h> #include<stdlib.h> int main(void) { int x = 0; int y = 0; printf("두 정수를 입력하세요.:"); scanf_s("%d %d", &x,&y); printf("두 정수의 평균 값은: %.2f 입니다.", (double)x + y / 2); return 0; }
-
해결됨홍정모의 따라하며 배우는 C언어
질문이 있습니다.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) { // 복리 계산 프로그램 double seed_money, target_money, annual_interest; printf("Input seed money : "); scanf("%lf", &seed_money); printf("Input target money : "); scanf("%lf", &target_money); printf("Input annual interest(%) : "); scanf("%lf", &annual_interest); double fund = seed_money; int year_count = 0; while (fund < target_money) { year_count++; fund = fund * ( 1.0 + ( annual_interest % 100.0 ) ); }; printf("It takes %d year\n", year_count); return 0; } 제가 작성한 코드에는 annual_interest과 100.0 아래 빨간줄이 나오면서 expression must have integral type이라고 출력되는데 왜이럴까요..??
-
해결됨독하게 시작하는 C 프로그래밍
동기 비동기와 getchar( )/ putchar ( ) <-> _getch( ) / _getche ( )
getchar( )/ putchar ( ) 가 비동기 실행 getch( ) / getche ( ) 이 동기 실행 이렇게 이해해도 될까요?
-
미해결문제로 배우는 C언어
이렇게 풀어도 맞는 풀이일까요?
(사진)
-
미해결문제로 배우는 C언어
20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?
&& 기호 넣어서 풀어도 같은 결과가 나오는데 영상에 나온 방식대로 해야 할까요?
-
해결됨Windows 시스템 프로그래밍 - 기본
보안 객체와 (보안) 기술 21분 질문입니다.
대전제 (feat. 핸들) (강의자료) 2초에서는 프로세서가 주체라고 설명해주셨는데 왜 보안 객체와 (보안) 기술자 21분경에서는 프로세스 수준 접근 통제 부분에서 객체에 대한 dacl과 로 나와있는데요.21분경에나와있는데 객체가 의미하는게 뭔가요?
-
미해결홍정모의 따라하며 배우는 C언어
공백이 왜 생기는지 모르겠어요
8.5 숫자이 모든 문자를 섞어서 입력받기 강의에서공백이 왜 생기는거에요?
-
미해결홍정모의 따라하며 배우는 C언어
while(getchar() != '\n') continue; 이부분 질문이요
3분 20초 쯤에 while(getchar() != '\n') continue;이걸 사용하면 빈칸 공백 없애주는거라고 하셧는데이게 왜 빈칸 공백 없애 주는건지 모르겟어요엔터키누르는게 아니면 continue로 뒤에꺼 실행안되게 하는 함수라고 생각하는데빈칸 없애는거랑 무슨 관련이 있나요?
-
미해결홍정모의 따라하며 배우는 C언어
int*
int* ptr 이거랑 int *ptr 이거랑 다른건가요? 다르다면 어떻게 다른건지 알려주세요 너무 헷갈리네요..
-
미해결홍정모의 따라하며 배우는 C언어
*
9.15 10:28 질문입니다 파란색 바탕 밑줄 표시된 위아래 if절에서요 아래 if절이 왜 있는건가요? 그리고 위아래 if절이 무슨 차이인지 헷갈려요
-
미해결홍정모의 따라하며 배우는 C언어
헤더파일
9.11 3:48 질문입니다 저는 새항목 추가하면 오른쪽처럼 뜨거든요 무슨 문제가 있는걸까요..?