Study/C Language

QUIZ

imaginefuture-1 2025. 3. 21. 00:23

 

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
  int sz = 0x30;
  char *buf = (char *)malloc(sizeof(char) * sz);

  puts("Hello World!");
  printf("Education + Hack = ?\n");
  fgets(buf, sz, stdin);

  if (!strncmp(buf, "DreamHack", 9))
    printf("Welcome Hackers :)\n");
  else
    printf("No No :/\n");

  return 0;

 

 

sz 입력 버퍼 크기 지정 48바이트

buf 포인터 변수에 malloc()함수로 48바이트의 크기 메모리 동적 할당

fgets()함수로 사용자 입력 stdin 받아서 buf에 저장

최대 입력크기 제한 sz -1 = 47 (null문자 포함)

예를 들어, "DreamHack1234567890123456789012345678901234567890" 입력하면,

> buf 에 저장되는 내용: "DreamHack1234567890123456789012345678901234" (뒤의 567890 는 잘림)

 

strncmp()함수가 입력값과 DreamHack을 처음 9글자만 비교

만약 입력값이 DreamHack으로 시작하면 조건이 참

 

 

'Study > C Language' 카테고리의 다른 글

c언어 python 문제 사이트  (0) 2025.04.20
c언어 프로그램  (0) 2025.03.22
int* arr[3]의 의미  (0) 2025.03.12
Comparison : base64 encoding & decoding program  (0) 2025.03.12
char *name vs char name[]  (0) 2025.03.08