분류 전체보기(10)
-
boj/11719
그대로 출력하기 2 - 입력 최대 100줄, 각 줄은 100글자를 넘지 않는다고 해서 문자형 배열을 선언했었다. - char word[100] 하지만 배열 선언을 하지 않고 조건문을 사용해 문자 입력한 것을 바로 출력하면 되는 문제였다. char word[100][100]; scanf("%[^Z]s",&word]; printf("%s",word); 내가 작성한 코드. 하지만 애매하고 계속 틀려서 결국 찾아봤다. 그래서 앞에서 말한 코드로 작성해 맞았습니다를 얻어냈다. #include int main() { char a; while(scanf("%c",&a)!=-1) { printf("%c",a); } return 0; }
2022.07.04 -
백준 11718 문제) fgets 함수
fgets #include char*_cdecl fgets(char*_Buffer, int_MaxCount, FILE*_Stream) :stream에서 문자열을 받는다. (num-1)개의 문자를 입력받을 때 까지나 개행 문자나 파일 끝(EOF)에 도달할 때까지 입력 받아서 C형식의 문자열로 저장한다. 개행 문자까지 str에 저장하고 마지막으로 입력 받은 문자 뒤에 자동적으로 NULL문자가 붙는다. scanf 함수와는 달리 개행 문자에 의해서만 입력이 끝나기 때문에 띄어 쓰기가 있는 문자열도 입력 받을 수 있다. 백준 답 코드 #include #define SIZE 101 int main() { char str[SIZE]=""; while(fgets(str,sizeof(str),stdin)) { print..
2022.06.29 -
C언어) 1. 변수
입출력 문자가 아닌 1byte 정수값으로 사용하는 경우 %hhd : signed char, 1byte로 표현한 정수 출력 시 사용한다. %hhu: unsigned char, 문자가 아닌 1byte 정수값으로 사용한다. 2byte 정수값으로 사용하는 경우 %hd: signed short int, 부호 있는 정수형 출력 시 사용한다. %hu: unsigned short int, 부호 없는 정수형을 출력할 때 사용한다. 4byte 정수값으로 사용하는 경우 %ld : signed long int, 부호 있는 정수형 %lu: unsigned long int, 부호 없는 정수형 8byte 정수값으로 사용하는 경우 %lld: signed long long int: 부호 있는 정수형 %llu: unsigned long..
2022.06.27 -
C언어 주석 사용
주석은 작성한 코드에 대한 보충 설명 등을 달기 위해 사용한다. 두 가지 방법이 있는데 첫 번째는 여러 줄의 주석을 작성할 때 /* */ 을 사용한다. 두 번째는 한 줄의 주석을 작성할 때 // 을 사용한다.
2022.06.27 -
GetStdHandle 함수, SetConsoleTextAttribute 함수
C언어로 게임 프로그램 코딩을 하기 위해 콘솔 설정을 하는데 콘솔 색상 설정 함수를 정의할 때 SetConsoleTextAttribute 함수를 사용하며 인자로 GetStdHandle 함수를 사용한다. 각각 살펴본다. 그 전에 handle이 무엇인지 먼저 알아본다. 운영체제가 자신의 리소스를 안전하게 관리하기 위해서 주소를 사용하는 포인터 대신에 핸들이라는 개념을 사용한다. 핸들은 운영체제 내부에 있는 어떤 리소스의 주소를 정수로 치환한 값이다. 그리고 리소스의 주소와 핸들 값을 한 쌍으로 묶어서 관리하는데 이것을 '핸들 테이블'이라고 한다. 예를 들어 리소스의 주소를 응용프로그램에는 알려주지 않고 이 주소와 연결된 핸들 값을 전달하여 관리하는 것이다. GetStdHandle 함수는 실제 핸들을 반환하는..
2022.01.06 -
#define _CRT_SECURE_NO_WARNINGS 사용하는 이유
++ 부동 소수점 상수에 대한 제한 x DBL_EPSILON 값 : 2.2204460492503131e-016 #include // DBL_EPSILON macro int main() { float a, b; printf("a="); scanf("%f", &a); printf("b="); scanf("%f", &b); printf("DBL_EPSILON = %.301f\n", DBL_EPSILON); if (fabs(a - b) < DBL_EPSILON) { printf("same number\n"); } else { printf("different number.\n"); } return 0; } 이 오류는 함수 scanf의 반환값을 어딘가에 대입하지 않거나 사용하지 않아서 발생하는 경고다. 코드 상 문..
2022.01.02