안녕하세요. 구조체 코딩 공부하다가 오류가 계속 발생해서 무엇이 문제인지 모르겠어서 질문드립니다 ..ㅠ scanf_s("%s" , p_friend->name, 메모리 크기)를 해야 되는거 같은데.. (unsigned int)sizeof(p_friend->name)를 추가하여 실행해봐도 실행이 안됩니다 ㅠㅠ 어떤 코드를 작성해야하는 것이 맞을까요..? 구글링해도 1시간째 고민을 해봐도 답이 없어 질문드립니다 !
안녕하세요 문의드릴게 있어서 글남깁니다. 동영상 17분50초 부터 보면 계산문제푸는 방법에대해나오는데 scanf에서 %o = 8진수인데 %d로 해서 10진수로 바꿔서 출력을 할 때 13(8)이라고 글씨로 기재되어있는 부분에 1 = 8진수라서 1X8로 계산을하는데 3 = 1 <<이부분에 1은 어떻게 3x1로 계산이 되어서 1인지 궁금합니다.. 단순하게 배열로보면 0번째자리 [0] [1] 이라서 1로 계싼이 되는건지 궁금합니다. 강의 너무 잘보고 있는데 답변해 주시면 감사하겠습니다!
교수님의 강의에서 status = scanf("%d", &num); while (status == 1) { sum += num; printf("Enter a next integer (q to quit): "); status = scanf("%d", &num); } 이런식으로 된것을 판단식에 scanf 를 넣어서 코드를 간결하게 줄였는데, 이 경우 더 효율적으로 돌아 갈 것 같아서 #include <time.h> 를 통해서 시간측정을 해보려고 하니 scanf 함수를 받을때 제가 값을 입력하는데 걸리는 시간이 매번다르니 측정이 불가능 하였습니다. 방법이 있을 까요?
1. 이해한 것 강의에서 설명한대로 scanf는 lf로 받고 printf 시에만 0.2f 를 하게되면, 진짜 둘째짜리까지만 받은게 아니라 원래 소수까지 받고 나서 곱한 뒤에 출력할 때 소숫점 셋째자리에서 반올림하는 코드라고 이해했습니다. 2. 궁금한 것 3.1295846 과 7.118592 를 입력해도 3.12와 7.11 만 입력받아서 출력예제와 동일한 값 22.18이 나오게 할 수는 없나요? 있다면 코드를 알고싶어요. 3. 제 생각 저는 scanf("%0.2lf %0.2lf", &a, &b) 를 시도해봤는데 0이 나왔습니다. 문자열 배열 두개를 선언해서 [인덱스] 번호를 활용해 0부터 쭉 받으며 데이터가 숫자인지 소수점인지 비교하다가 소수점 발견시 그 요소 이후 두 요소만 더 저장하는 방법을 생각해보았는데 배보다 배꼽이 큰 것 같습니다.
int main() { const char first_char = 'A'; // const char last_char = 'T'; // TOOD: use scanf() / 즉 last_char(마지막글자)를 scanf로 입력받아서 쓸 수 있게 만들어봐 // const int num_rows = last_char - first_char + 1; int r; // num_rows loop int c; // character loop char last_char = 'C'; for (last_char; last_char != 'q'; scanf("%c", &last_char)) { printf("Input last_char (quit to q) : "); scanf("%c", &last_char); const int num_rows = last_char - first_char + 1; for (r = 0; r < num_rows; ++r) { for (c = first_char; c <= first_char + r; ++c) // { printf("%c ", c); } printf("\n"); } for (r = 0; r < num_rows; ++r) { for (c = first_char + r; c != first_char + num_rows; ++c) { printf("%c ", c); } printf("\n"); } printf("num_rows : %d, r : %d, first_char : %c, last_char : %c, c : %c\n", num_rows, r, first_char, last_char, c); printf("\n"); } 입력 받는건 아주 잘 받는데 q 입력했을 때 바로 안나오고 엄청난 이상한 출력 길게 나오고 끝나네요.. 뭐가 문젠가요? 출력은 예제2번에 예제3번 합쳐서 나오고 끝나는 출력입니다. ex) A AB ABC BC C
#include<stdio.h> int main(void) { int i,n, a,max=0; scanf("%d\n", &n); for (i = 1; i<=n; i++) { scanf("%d", &a); if (a > max) max = a; } printf("%d", max); return 0; } 여기서 반복문안에 scanf가 들어가있으면 계속해서 무언가를 입력해야 되는거 아닌가요?? 최대값을 구하는 문제인데 왜 저렇게 구하는지 모르겠어요..ㅜ
강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요 교수님 강의를 보면서 따라하는데 자꾸 오류가 생겨서 혼자서 도저히 해결을 못할 것 같아 문의드립니다! #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int i = 0, j = 0; printf("input two integers"); scanf("%d%d", &i, &j); printf("%d %d\n",i,j); return 0; } 정말 교수님이랑 같은 코드로 코딩을 했는데 scanf 반환값이 무시되었습니다라고 오류가 뜹니다.. 혹시 해결 가능할까요?ㅜ