λͺ©μ°¨:
- getsμ puts ν¨μλ?
- gets ν¨μμ μ¬μ©λ²
- gets ν¨μ μμ 
- puts ν¨μμ μ¬μ©λ²
- puts ν¨μ μμ 
1. getsμ puts ν¨μλ?
getsμ puts ν¨μλ λ¬Έμμ΄ μ μΆλ ₯μ μν΄ μ¬μ©λλ ν¨μμ λλ€. gets ν¨μλ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°μ λ³μμ μ μ₯νκ³ , puts ν¨μλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€.
2. gets ν¨μμ μ¬μ©λ²
gets ν¨μλ λ€μκ³Ό κ°μ ννλ‘ μ¬μ©λ©λλ€:
gets(λ³μ);μ¬μ©μλ‘λΆν° μ λ ₯ λ°μ λ¬Έμμ΄μ λ³μμ μ μ₯νκΈ° μν΄ gets ν¨μλ₯Ό μ¬μ©ν©λλ€.
3. gets ν¨μ μμ 
λ€μμ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ λ ₯λ°μ μ΄λ¦μ μΆλ ₯νλ μμ μ λλ€:
char name[100]; // μ
λ ₯μ μ μ₯ν  λ³μ μ μΈ
gets(name); // μ¬μ©μλ‘λΆν° μ΄λ¦ μ
λ ₯ λ°μ
puts(name); // μ
λ ₯λ°μ μ΄λ¦ μΆλ ₯4. puts ν¨μμ μ¬μ©λ²
puts ν¨μλ λ€μκ³Ό κ°μ ννλ‘ μ¬μ©λ©λλ€:
puts("λ¬Έμμ΄");μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μΆλ ₯ν λ¬Έμμ΄μ ν°λ°μ΄νλ‘ κ°μΈμΌ ν©λλ€.
5. puts ν¨μ μμ 
λ€μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ "Hello, World!"λ₯Ό μΆλ ₯νλ μμ μ λλ€:
puts("Hello, World!");getsμ puts ν¨μλ ν¨μ¨μ μ΄κ³ νΈλ¦¬ν λ¬Έμμ΄ μ μΆλ ₯μ μν΄ μ¬μ©λλ μ€μν ν¨μμ λλ€. μμ λ₯Ό ν΅ν΄ κ° ν¨μμ μ¬μ©λ²μ νμΈνμμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ λ€μν νλ‘κ·Έλ¨μ κ°λ°ν μ μμΌλ©°, λ¬Έμμ΄ μ μΆλ ₯μ λν μ΄ν΄λ₯Ό λμΌ μ μμ΅λλ€.
1. getsμ puts ν¨μλ?
getsμ puts ν¨μλ CμΈμ΄μμ λ¬Έμμ΄μ μ λ ₯λ°κ³ μΆλ ₯νλ λ° μ¬μ©λλ ν¨μμ λλ€.
gets ν¨μ
gets ν¨μλ μ¬μ©μλ‘λΆν° μ λ ₯μ λ°μλ€μ¬ λ¬Έμμ΄μ λ³μμ μ μ₯ν©λλ€. μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ³μλ₯Ό μΈμλ‘ λ°κ³ , νμ€μ λ ₯(stdin)μΌλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°μ λ³μμ μ μ₯ν©λλ€.
puts ν¨μ
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μλ‘, μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μΆλ ₯ν λ¬Έμμ΄κ³Ό κ°ν λ¬Έμ(\n)λ₯Ό ν¨κ» μΆλ ₯νλ©°, μ€λ°κΏ κΈ°λ₯μ κ°κ³ μμ΅λλ€.
getsμ puts ν¨μλ λ¬Έμμ΄μ μ λ ₯λ°κ³ μΆλ ₯νλ κΈ°λ₯μ κ°μΆ ν¨μλ‘, ν¨μ¨μ μΈ λ¬Έμμ΄ μ μΆλ ₯μ μν΄ μ¬μ©λ©λλ€. μ΄ ν¨μλ€μ μ¬μ©νλ©΄ μ¬μ©μμμ μνΈμμ©μ΄ κ°λ₯νκ³ , νλ‘κ·Έλ¨μ μ€ν κ²°κ³Όλ₯Ό μ½κ² νμΈν μ μμ΅λλ€.
2. gets ν¨μμ μ¬μ©λ²
gets ν¨μλ μ¬μ©μλ‘λΆν° μ λ ₯μ λ°μλ€μ¬ λ¬Έμμ΄μ λ³μμ μ μ₯νλ ν¨μμ λλ€. μλλ gets ν¨μμ μ¬μ©λ²μ μμΈν μ€λͺ ν κ²μ λλ€:
```c
gets(λ³μ);- λ³μ: μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ³μμ λλ€. λ³μλ λ¬Έμμ΄μ μ μ₯ν μΆ©λΆν 곡κ°μ ν λΉλ°μμΌ ν©λλ€.
gets ν¨μλ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°μ λ³μμ μ μ₯ν©λλ€. gets ν¨μλ₯Ό νΈμΆνλ©΄ νλ‘κ·Έλ¨μ μ¬μ©μλ‘λΆν° μ λ ₯μ λ°μ μ μλ μνκ° λ©λλ€. μ¬μ©μκ° μν° ν€λ₯Ό λλ₯΄κΈ° μ κΉμ§μ λ¬Έμμ΄μ μ λ ₯λ°μ λ³μμ μ μ₯νλ©°, μ λ ₯μ΄ μλ£λλ©΄ μλμΌλ‘ λ¬Έμμ΄μ λμ λ λ¬Έμ('\0')λ₯Ό μΆκ°ν©λλ€.
μ£Όμν΄μΌ ν μ μ, gets ν¨μλ λ²νΌ μ€λ²νλ‘μ°(buffer overflow)μ κ΄λ ¨λ 보μ μ·¨μ½μ μ κ°μ§κ³ μμ΅λλ€. λ°λΌμ gets ν¨μ λμ fgets ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ κΆμ₯λ©λλ€. fgets ν¨μλ λ¬Έμμ΄ ν¬κΈ°μ λν μ νμ μ€μ ν μ μμ΄, μ λ ₯νλ λ¬Έμμ΄μ΄ μ μ₯λ λ²νΌμ ν¬κΈ°λ₯Ό μ΄κ³Όνμ§ μλλ‘ μ μ΄ν μ μμ΅λλ€.
3. gets ν¨μ μμ 
μλλ gets ν¨μλ₯Ό μ¬μ©ν μμ  μ½λμ λλ€:
#include <stdio.h>
int main(void) {
    char name[20];
    printf("μ΄λ¦μ μ
λ ₯νμΈμ: ");
    gets(name);
    printf("μ
λ ₯ν μ΄λ¦μ %sμ
λλ€.\n", name);
    return 0;
}μ΄ μμ λ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°μμ μΆλ ₯νλ κΈ°λ₯μ κ°μ§ κ°λ¨ν νλ‘κ·Έλ¨μ λλ€.
- λ³μ nameμ μ μΈν©λλ€. λ¬Έμμ΄μ μ μ₯νκΈ° μν΄ μΆ©λΆν ν¬κΈ°(20)λ‘ λ°°μ΄μ ν λΉν©λλ€.
- printfν¨μλ₯Ό μ¬μ©νμ¬ "μ΄λ¦μ μ λ ₯νμΈμ: "λΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- getsν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°μ- nameλ³μμ μ μ₯ν©λλ€.
- printfν¨μλ₯Ό μ¬μ©νμ¬ "μ λ ₯ν μ΄λ¦μ [μ λ ₯ν κ°]μ λλ€."λΌλ λ©μμ§μ μ λ ₯ν μ΄λ¦μ μΆλ ₯ν©λλ€.
- νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
μ μμ μμ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ
λ ₯λ°μ λ¬Έμμ΄μ name λ³μμ μ μ₯νκ³ , μ΄λ₯Ό μΆλ ₯νλ κ³Όμ μ κ±°μΉ©λλ€. μ¬μ©μλ μ΄λ¦μ μ
λ ₯ν ν μν° ν€λ₯Ό λλ₯΄λ©΄ μ
λ ₯ν κ°μ΄ μΆλ ₯λ©λλ€.
μ μμ μμλ λ¬Έμμ΄μ ν¬κΈ°μ λν μ νμ΄ μμΌλ©°, μ μ¬μ μΈ λ²νΌ μ€λ²νλ‘μ° μ·¨μ½μ μ κ°μ§κ³ μμ΅λλ€. λ°λΌμ μ€μ  μ¬μ©ν λμλ fgets ν¨μμ κ°μ΄ λ¬Έμμ΄μ ν¬κΈ°λ₯Ό μ ννλ ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
4. puts ν¨μμ μ¬μ©λ²
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ λλ€. μλλ puts ν¨μμ μ¬μ©λ²μ μμΈν μ€λͺ ν κ²μ λλ€:
```c
puts(λ¬Έμμ΄);- λ¬Έμμ΄: μΆλ ₯ν λ¬Έμμ΄μ λλ€.
puts ν¨μλ μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νμ€ μΆλ ₯ μ₯μΉμ μΆλ ₯ν©λλ€. λ¬Έμμ΄μ λμλ μλμΌλ‘ κ°ν λ¬Έμ('\n')κ° μΆκ°λ©λλ€.
puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ¦ λλ€:
- μΆλ ₯ν λ¬Έμμ΄μ μ€λΉν©λλ€. C μΈμ΄μμ λ¬Έμμ΄μ ν°λ°μ΄ν("")λ‘ λ¬Άμ¬μ§ λ¬Έμμ΄ λ¦¬ν°λ΄λ‘ ννλ©λλ€.
- puts ν¨μλ₯Ό νΈμΆνμ¬ μ€λΉν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
- νλ‘κ·Έλ¨μ λλ¨Έμ§ λΆλΆμ μ€νν©λλ€.
μλ₯Ό λ€μ΄, μλμ μμ  μ½λλ "Hello, World!" λ¬Έμμ΄μ μΆλ ₯νλ κ°λ¨ν νλ‘κ·Έλ¨μ λλ€:
#include <stdio.h>
int main(void) {
    puts("Hello, World!");
    return 0;
}μ μμ μμλ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄ "Hello, World!"λ₯Ό μΆλ ₯ν©λλ€. μΆλ ₯ κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€:
Hello, World!λ¬Έμμ΄μ μΆλ ₯ν λμλ ν°λ°μ΄ν("")λ‘ λ¬Άμ¬μΌ νλ©°, printf ν¨μμλ λ¬λ¦¬ νμ μ§μ μλ₯Ό μ¬μ©νμ§ μμ΅λλ€. puts ν¨μλ λ¬Έμμ΄μ μλμΌλ‘ κ°ννμ¬ μΆλ ₯νκΈ° λλ¬Έμ, κ°ν λ¬Έμ('\n')μ μΆκ°νμ§ μμλ λ©λλ€.
5. puts ν¨μ μμ 
μλλ puts ν¨μλ₯Ό μ¬μ©ν μμ  μ½λμ λλ€:
#include <stdio.h>
int main(void) {
    char name[] = "John";
    puts("Welcome!");
    puts("Please enter your name:");
    // μ¬μ©μλ‘λΆν° μ΄λ¦ μ
λ ₯ λ°κΈ°
    scanf("%s", name);
    puts("Nice to meet you, ");
    puts(name);
    return 0;
}μ΄ μμ λ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°μ "Nice to meet you, [μ λ ₯ν μ΄λ¦]"κ³Ό κ°μ λ©μμ§λ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ λλ€.
- λ¬Έμμ΄μ μ μ₯ν  nameλ°°μ΄μ μ μΈνκ³ μ΄κΈ°κ°μΌλ‘ "John"μ ν λΉν©λλ€.
- putsν¨μλ₯Ό μ¬μ©νμ¬ "Welcome!" λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- putsν¨μλ₯Ό μ¬μ©νμ¬ "Please enter your name:" λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- scanfν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°μ- nameλ°°μ΄μ μ μ₯ν©λλ€.
- putsν¨μλ₯Ό μ¬μ©νμ¬ "Nice to meet you, " λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- putsν¨μλ₯Ό μ¬μ©νμ¬- nameλ°°μ΄μ κ°μ μΆλ ₯ν©λλ€.
- νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
μ μμ μμ puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ μν μ ν©λλ€. κ° puts ν¨μλ₯Ό νΈμΆν  λλ§λ€ ν΄λΉ λ¬Έμμ΄μ΄ νμ€ μΆλ ₯ μ₯μΉμ μΆλ ₯λ©λλ€. μμ μμλ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ©μμ§λ₯Ό μΆλ ₯νκ³ , μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°μμ μΆλ ₯νλ κ³Όμ μ κ±°μΉ©λλ€.
μ€ν κ²°κ³Όλ μλμ κ°μ΅λλ€:
Welcome!
Please enter your name:
John
Nice to meet you, 
Johnname λ°°μ΄μ μ μ₯λ κ°μ΄ μΆλ ₯λλ κ²μ νμΈν  μ μμ΅λλ€. puts ν¨μλ₯Ό μ¬μ©νλ©΄ κ°λ¨νκ³  νΈλ¦¬νκ² λ¬Έμμ΄μ νμ€ μΆλ ₯μ μΆλ ₯ν  μ μμ΅λλ€.
puts ν¨μ μμ 
μλ μμ  μ½λλ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°μ νμ λ©μμ§λ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ λλ€.
#include <stdio.h>
int main(void) {
    char name[20];
    printf("Welcome!\n");
    printf("Please enter your name: ");
    // μ¬μ©μλ‘λΆν° μ΄λ¦ μ
λ ₯ λ°κΈ°
    fgets(name, sizeof(name), stdin);
    printf("Nice to meet you, %s\n", name);
    return 0;
}μ΄ μμ μμλ puts ν¨μ λμ  printf ν¨μμ fgets ν¨μλ₯Ό μ¬μ©ν©λλ€.
- nameμ΄λΌλ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄μ μ μΈνκ³ ν¬κΈ°λ₯Ό 20μΌλ‘ μ€μ ν©λλ€.
- "Welcome!"λ©μμ§λ₯Ό- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- "Please enter your name: "λ©μμ§λ₯Ό- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- fgetsν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°κ³ ,- nameλ°°μ΄μ μ μ₯ν©λλ€. μ΄λ,- sizeof(name)μ μ¬μ©νμ¬- nameλ°°μ΄μ ν¬κΈ°λ₯Ό μ§μ νκ³ ,- stdinμ μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ λ ₯μ λ°μ΅λλ€.
- "Nice to meet you, "μ- nameλ°°μ΄μ κ°μ- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
puts ν¨μ λμ  printf ν¨μλ₯Ό μ¬μ©νλ μ΄μ λ fgets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μ μ
λ ₯μ λ°κΈ° μν΄μμ
λλ€. fgets ν¨μλ λ²νΌ μ€λ²νλ‘μ°λ₯Ό λ°©μ§νκΈ° μν΄μ μ
λ ₯ λ²νΌμ ν¬κΈ°λ₯Ό μ§μ ν΄μΌνλλ°, μ΄λ₯Ό μν΄μ sizeof(name)μ μ¬μ©ν©λλ€.
μ€ν κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€:
Welcome!
Please enter your name: John
Nice to meet you, Johnname λ°°μ΄μ μ μ₯λ μ΄λ¦μ΄ μΆλ ₯λλ κ²μ νμΈν  μ μμ΅λλ€. puts ν¨μμ printf ν¨μλ λͺ¨λ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ μ¬μ©λ  μ μμ΅λλ€. κ°κ°μ ν¨μλ μΆλ ₯ λ°©μμ΄ μ‘°κΈμ© λ€λ₯΄μ§λ§, μ¬μ©μμ μꡬμ λ§κ² μ ννμ¬ μ¬μ©νλ©΄ λ©λλ€.
μ£Όμ : getsμ puts ν¨μ μ¬μ©λ² λ° μμ 
gets ν¨μ
gets ν¨μλ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λ¬Έμ λ°°μ΄μ μ μ₯νκ³ , NULL λ¬Έμ(\0)λ‘ λ§λ¬΄λ¦¬ν©λλ€.
char *gets(char *str);- str: λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ ν¬μΈν°
μ¬μ©λ²:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ μ μΈν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°κ³ , μ λ ₯λ°μ λ¬Έμμ΄μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λ©λλ€.
μ£Όμ μ¬ν:
gets ν¨μλ 보μμμ μ΄μ λ‘ μ¬μ©μ΄ κΆμ₯λμ§ μμ΅λλ€. μ
λ ₯ λ¬Έμμ΄μ κΈΈμ΄ μ νμ΄ μκΈ° λλ¬Έμ λ²νΌ μ€λ²νλ‘μ°λ₯Ό μΌμΌν¬ μ μμ΅λλ€. λμ  fgets ν¨μλ₯Ό μ¬μ©νμ¬ μμ νκ² λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
puts ν¨μ
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ
λλ€. μ΄ ν¨μλ \n λ¬Έμλ₯Ό λ§μ§λ§μΌλ‘ μλμΌλ‘ μΆλ ₯νμ¬ μ€λ°κΏμ μνν©λλ€.
int puts(const char *str);- str: μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°
μ¬μ©λ²:
- μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°λ‘ μ λ¬ν©λλ€.
- putsν¨μλ₯Ό νΈμΆνμ¬ μ λ¬ν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
μ£Όμ μ¬ν:
puts ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λκΉμ§ μΆλ ₯νκ³ , μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. κ·Έλ¬λ―λ‘ λ¬Έμμ΄ λ΄μ μ€λ°κΏμ΄ νμν κ²½μ° λ³λλ‘ μ μ΄ν΄μΌν©λλ€.
μμ : getsμ puts ν¨μ μ¬μ©νκΈ°
λ€μμ gets ν¨μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°κ³ , μ
λ ₯λ°μ μ΄λ¦μ νμνλ μμ  μ½λμ
λλ€.
#include <stdio.h>
int main(void) {
    char name[20];
    printf("Welcome!\n");
    printf("Please enter your name: ");
    // μ¬μ©μλ‘λΆν° μ΄λ¦ μ
λ ₯ λ°κΈ°
    gets(name);
    printf("Nice to meet you, ");
    puts(name);
    return 0;
}- nameμ΄λΌλ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄μ μ μΈνκ³ ν¬κΈ°λ₯Ό 20μΌλ‘ μ€μ ν©λλ€.
- "Welcome!"λ©μμ§λ₯Ό- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- "Please enter your name: "λ©μμ§λ₯Ό- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- getsν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°κ³ ,- nameλ°°μ΄μ μ μ₯ν©λλ€.
- "Nice to meet you, "λ©μμ§λ₯Ό- printfν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯ν©λλ€.
- nameλ°°μ΄μ κ°μ- putsν¨μλ₯Ό μ¬μ©νμ¬ μΆλ ₯νκ³ , μλμΌλ‘ μ€λ°κΏμ΄ μνλ©λλ€.
- νλ‘κ·Έλ¨μ μ’ λ£ν©λλ€.
μ΄ μμ μμλ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°μ΅λλ€. νμ§λ§ gets ν¨μλ λ²νΌ μ€λ²νλ‘μ°λ₯Ό μΌμΌν¬ μ μμΌλ―λ‘, μμ ν νλ‘κ·Έλλ°μ μν΄μ fgets ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ κΆμ₯λ©λλ€.
μ€ν κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€:
Welcome!
Please enter your name: John
Nice to meet you, Johnμ¬μ©μκ° μ
λ ₯ν μ΄λ¦μ΄ μΆλ ₯λλ κ²μ νμΈν  μ μμ΅λλ€. puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯ν  μ μμΌλ©°, μ μ©ν μ€λ°κΏ κΈ°λ₯μ μλμΌλ‘ μνν©λλ€.
getsμ puts ν¨μ μ¬μ©λ² λ° μμ 
gets ν¨μ
gets ν¨μλ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λ¬Έμ λ°°μ΄μ μ μ₯νκ³ , NULL λ¬Έμ(\0)λ‘ λ§λ¬΄λ¦¬ν©λλ€.
char *gets(char *str);- str: λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ ν¬μΈν°
gets ν¨μλ₯Ό μ¬μ©νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ μ μΈν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°κ³ , μ λ ₯λ°μ λ¬Έμμ΄μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λ©λλ€.
λ€λ§, gets ν¨μλ 보μμμ μ΄μ λ‘ μ¬μ©μ΄ κΆμ₯λμ§ μμ΅λλ€. μ
λ ₯ λ¬Έμμ΄μ κΈΈμ΄ μ νμ΄ μκΈ° λλ¬Έμ λ²νΌ μ€λ²νλ‘μ°λ₯Ό μΌμΌν¬ μ μμΌλ©°, μ΄λ 보μ μ·¨μ½μ μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€. λμ μ fgets ν¨μλ₯Ό μ¬μ©νμ¬ μμ νκ² λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
puts ν¨μ
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ
λλ€. μ΄ ν¨μλ \n λ¬Έμλ₯Ό λ§μ§λ§μΌλ‘ μλμΌλ‘ μΆλ ₯νμ¬ μ€λ°κΏμ μνν©λλ€.
int puts(const char *str);- str: μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°
puts ν¨μλ₯Ό μ¬μ©νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°λ‘ μ λ¬ν©λλ€.
- putsν¨μλ₯Ό νΈμΆνμ¬ μ λ¬ν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
puts ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λκΉμ§ μΆλ ₯νκ³ , μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. λ°λΌμ λ¬Έμμ΄ λ΄μ μ€λ°κΏμ΄ νμν κ²½μ° λ³λλ‘ μ μ΄ν  νμκ° μμ΅λλ€.
μμ : getsμ puts ν¨μ μ¬μ©νκΈ°
λ€μμ gets ν¨μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°κ³ , μ
λ ₯λ°μ μ΄λ¦μ νμνλ μμ  μ½λμ
λλ€.
#include <stdio.h>
int main(void) {
    char name[20];
    printf("Welcome!\n");
    printf("Please enter your name: ");
    // μ¬μ©μλ‘λΆν° μ΄λ¦ μ
λ ₯ λ°κΈ°
    gets(name);
    printf("Nice to meet you, ");
    puts(name);
    return 0;
}μ μμ  μ½λμμλ nameμ΄λΌλ λ¬Έμμ΄μ μ μ₯ν  λ°°μ΄μ μ μΈνκ³  ν¬κΈ°λ₯Ό 20μΌλ‘ μ€μ ν©λλ€. μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°κΈ° μν΄ gets ν¨μλ₯Ό νΈμΆνκ³ , μ
λ ₯λ°μ μ΄λ¦μ name λ°°μ΄μ μ μ₯ν©λλ€. κ·Έ νμ puts ν¨μλ₯Ό μ¬μ©νμ¬ name λ°°μ΄μ κ°μ μΆλ ₯νκ³ , μλμΌλ‘ μ€λ°κΏμ΄ μνλ©λλ€.
μ¬μ©μκ° μ λ ₯ν μ΄λ¦μ μΆλ ₯ λ©μμ§μ ν¬ν¨λμ΄ νλ©΄μ μΆλ ₯λλ κ²μ νμΈν μ μμ΅λλ€.
μ°Έκ³ :
getsν¨μλ λ²νΌ μ€λ²νλ‘μ°μ μ·¨μ½νμ¬ λ³΄μμμ μ΄μ λ‘ μ¬μ©μ΄ κΆμ₯λμ§ μμ΅λλ€. λμfgetsν¨μλ₯Ό μ¬μ©νμ¬ μμ νκ² λ¬Έμμ΄μ μ λ ₯λ°μ μ μμ΅λλ€.
1. getsμ puts ν¨μλ?
gets ν¨μ
gets ν¨μλ C μΈμ΄μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λ¬Έμ λ°°μ΄μ μ μ₯νκ³ , NULL λ¬Έμ(\0)λ‘ λ§λ¬΄λ¦¬ν©λλ€. gets ν¨μλ λ€μκ³Ό κ°μ νμμ κ°μ΅λλ€:
char *gets(char *str);- str: λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ ν¬μΈν°
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ μ μΈν©λλ€. μ΄λ, λ°°μ΄μ ν¬κΈ°λ μ λ ₯λ°μ λ¬Έμμ΄μ μ΅λ κΈΈμ΄λ³΄λ€ ν¬κ² μ€μ ν΄μΌ ν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°κ³ , μ λ ₯λ°μ λ¬Έμμ΄μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λ©λλ€.
κ·Έλ¬λ gets ν¨μλ 보μμμ μ΄μ λ‘ μ¬μ©μ΄ κΆμ₯λμ§ μμ΅λλ€. μ
λ ₯ λ¬Έμμ΄μ κΈΈμ΄ μ νμ΄ μκΈ° λλ¬Έμ λ²νΌ μ€λ²νλ‘μ°(buffer overflow)λ₯Ό μΌμΌν¬ μ μμ΅λλ€. λ°λΌμ, λμ μ fgets ν¨μλ₯Ό μ¬μ©νμ¬ μμ νκ² λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
puts ν¨μ
puts ν¨μλ C μΈμ΄μμ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ
λλ€. μ΄ ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν ν μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. puts ν¨μλ λ€μκ³Ό κ°μ νμμ κ°μ΅λλ€:
int puts(const char *str);- str: μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°
puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°λ‘ μ λ¬ν©λλ€.
- putsν¨μλ₯Ό νΈμΆνμ¬ μ λ¬ν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
puts ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λκΉμ§ μΆλ ₯ν λ€, μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. λ°λΌμ, λ¬Έμμ΄ λ΄μ μ€λ°κΏμ΄ νμν κ²½μ°μλ λ³λλ‘ μ μ΄ν  νμκ° μμ΅λλ€.
μμΈν μ¬μ©λ²κ³Ό μμ λ μ΄μ΄μ§λ λ¨λ½μμ λ€λ£¨κ² μ΅λλ€.
- gets ν¨μ: μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°λ ν¨μ
gets ν¨μλ C μΈμ΄μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λ¬Έμ λ°°μ΄μ μ μ₯νκ³ , NULL λ¬Έμ(\0)λ‘ λ§λ¬΄λ¦¬ν©λλ€. gets ν¨μλ λ€μκ³Ό κ°μ νμμ κ°μ΅λλ€:
char *gets(char *str);- str: λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ ν¬μΈν°
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ¬Έμ λ°°μ΄μ μ μΈν©λλ€. μ΄λ, λ°°μ΄μ ν¬κΈ°λ μ λ ₯λ°μ λ¬Έμμ΄μ μ΅λ κΈΈμ΄λ³΄λ€ ν¬κ² μ€μ ν΄μΌ ν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°κ³ , μ λ ₯λ°μ λ¬Έμμ΄μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λ©λλ€.
μ
λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν  λ¬Έμ λ°°μ΄μ ν¬κΈ°λ μ
λ ₯λ°μ λ¬Έμμ΄μ μ΅λ κΈΈμ΄λ³΄λ€ ν¬κ² μ€μ ν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, 20μ μ΄νμ λ¬Έμμ΄μ μ
λ ₯λ°μ κ²½μ°μλ char name[20]κ³Ό κ°μ΄ λ¬Έμ λ°°μ΄μ μ μΈν΄μΌ ν©λλ€.
gets ν¨μλ₯Ό νΈμΆνλ©΄ μ¬μ©μκ° ν€λ³΄λλ‘ μ
λ ₯ν λ¬Έμμ΄μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λ©λλ€. μ¬μ©μκ° Enter ν€λ₯Ό λλ₯Ό λκΉμ§ μ
λ ₯λ λ¬Έμλ€μ΄ λ¬Έμ λ°°μ΄μ μ μ₯λλ©°, Enter ν€λ λ¬Έμμ΄μ λμ λνλ΄λ NULL λ¬Έμ(\0)λ‘ λ체λ©λλ€.
μ λ ₯λ°μ λ¬Έμμ΄μ μ΄νμ μ²λ¦¬νκΈ° μν΄μλ λ¬Έμ λ°°μ΄μ μ μ₯λ κ°μ νμ©νλ©΄ λ©λλ€. μλ₯Ό λ€μ΄, μ μ₯λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νκ±°λ λ€λ₯Έ λ³μμ μ μ₯νκ±°λ νμν μ²λ¦¬λ₯Ό μνν μ μμ΅λλ€.
λ€λ§, gets ν¨μλ 보μμμ μ΄μ λ‘ μ¬μ©μ΄ κΆμ₯λμ§ μμ΅λλ€. μ
λ ₯ λ¬Έμμ΄μ κΈΈμ΄ μ νμ΄ μκΈ° λλ¬Έμ λ²νΌ μ€λ²νλ‘μ°(buffer overflow)λ₯Ό μΌμΌν¬ μ μμ΅λλ€. λ°λΌμ, λμ μ fgets ν¨μλ₯Ό μ¬μ©νμ¬ μμ νκ² λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
μ λ΄μ©μ μ°Έκ³ νμ¬ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
- puts ν¨μ: λ¬Έμμ΄μ μΆλ ₯νλ ν¨μ
puts ν¨μλ C μΈμ΄μμ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ
λλ€. μ΄ ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν ν μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. puts ν¨μλ λ€μκ³Ό κ°μ νμμ κ°μ΅λλ€:
int puts(const char *str);- str: μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°
puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°λ‘ μ λ¬ν©λλ€. μ΄λ λ¬Έμμ΄μ 첫 λ²μ§Έ λ¬Έμμ μ£Όμλ₯Ό μλ―Έν©λλ€.
- putsν¨μλ₯Ό νΈμΆνμ¬ μ λ¬ν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
puts ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λκΉμ§ μΆλ ₯ν λ€, μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. λ°λΌμ, λ¬Έμμ΄ λ΄μ μ€λ°κΏμ΄ νμν κ²½μ°μλ λ³λλ‘ μ μ΄ν  νμκ° μμ΅λλ€.
puts ν¨μλ₯Ό νΈμΆν  λλ λ°λμ λ¬Έμμ΄μ ν¬μΈν°λ₯Ό μ λ¬ν΄μΌ ν©λλ€. μ¦, λ¬Έμμ΄μ ν°λ°μ΄ν(")λ‘ κ°μΈμ μ λ¬νλ κ²μ΄ μλλΌ, λ¬Έμμ΄μ μ΄λ¦μ μ λ¬ν©λλ€. μλ₯Ό λ€μ΄, char message[] = "Hello, World!";λΌλ λ¬Έμμ΄μ μΆλ ₯νλ €λ©΄ puts(message);μ κ°μ΄ μμ±ν©λλ€.
puts ν¨μλ μΆλ ₯ μμ
μ μνν ν μ±κ³΅μ μΌλ‘ μΆλ ₯μ μλ£ν κ²½μ° 0μ λ°νν©λλ€. μΆλ ₯ μ€μ μ€λ₯κ° λ°μν κ²½μ°μλ EOF (-1)λ₯Ό λ°νν©λλ€. μ΄λ¬ν λ°ν κ°μ νμ©νμ¬ μ
λ ₯λ λ¬Έμμ΄μ μ μμ μΌλ‘ μΆλ ₯λμλμ§ νμΈν  μ μμ΅λλ€.
μμΈν μ¬μ©λ²κ³Ό μμ λ μ΄μ΄μ§λ λ¨λ½μμ λ€λ£¨κ² μ΅λλ€.
puts ν¨μ: λ¬Έμμ΄μ μΆλ ₯νλ ν¨μ
puts ν¨μλ C μΈμ΄μμ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμ
λλ€. μ΄ ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν ν μλμΌλ‘ μ€λ°κΏμ μνν©λλ€.
int puts(const char *str);- str: μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°
puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μΆλ ₯ν λ¬Έμμ΄μ ν¬μΈν°λ‘ μ λ¬ν©λλ€. μ΄λ λ¬Έμμ΄μ 첫 λ²μ§Έ λ¬Έμμ μ£Όμλ₯Ό μλ―Έν©λλ€.
- putsν¨μλ₯Ό νΈμΆνμ¬ μ λ¬ν λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
puts ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ λκΉμ§ μΆλ ₯ν λ€, μλμΌλ‘ μ€λ°κΏμ μνν©λλ€. λ°λΌμ, λ¬Έμμ΄ λ΄μ μ€λ°κΏμ΄ νμν κ²½μ°μλ λ³λλ‘ μ μ΄ν  νμκ° μμ΅λλ€.
puts ν¨μλ₯Ό νΈμΆν  λλ λ°λμ λ¬Έμμ΄μ ν¬μΈν°λ₯Ό μ λ¬ν΄μΌ ν©λλ€. μ¦, λ¬Έμμ΄μ ν°λ°μ΄ν(")λ‘ κ°μΈμ μ λ¬νλ κ²μ΄ μλλΌ, λ¬Έμμ΄μ μ΄λ¦μ μ λ¬ν©λλ€.
char message[] = "Hello, World!";
puts(message);puts ν¨μμ λ°ν κ°μ μΆλ ₯ μμ
μ μ±κ³΅ μ¬λΆλ₯Ό λνλ
λλ€. μΆλ ₯μ΄ μ μμ μΌλ‘ μλ£λ κ²½μ° 0μ λ°ννκ³ , μΆλ ₯ μ€μ μ€λ₯κ° λ°μν κ²½μ° EOF (-1)λ₯Ό λ°νν©λλ€.
if (puts(message) == EOF) {
    printf("Error occurred during output.\n");
} else {
    printf("Output completed successfully.\n");
}μμ μμ μμλ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νκ³ , λ°ν κ°μ νμ©νμ¬ μΆλ ₯μ΄ μ μμ μΌλ‘ μλ£λμλμ§λ₯Ό νμΈνλ λ°©λ²μ 보μ¬μ€λλ€.
2. gets ν¨μμ μ¬μ©λ²
gets ν¨μλ C μΈμ΄μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ
λ ₯ λ²νΌμμ μ¬μ©μκ° μ
λ ₯ν λ¬Έμμ΄μ μ½μ΄λ€μ
λλ€. μ
λ ₯ λ°μ λ¬Έμμ΄μ λ¬Έμμ΄ λ°°μ΄μ μ μ₯λ©λλ€.
char *gets(char *str);- str: μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄μ ν¬μΈν°
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄μ μ μΈν©λλ€. μ΄ λ°°μ΄μ λ¬Έμμ΄μ μ μ₯νκΈ°μ μΆ©λΆν ν¬κΈ°λ₯Ό κ°μ ΈμΌ ν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ λ ₯λ°μ λ¬Έμμ΄μ λ°°μ΄μ μ μ₯ν©λλ€.
gets ν¨μλ μ¬μ©μκ° Enter(κ°ν) ν€λ₯Ό λλ₯Ό λκΉμ§ μ¬μ©μμ μ
λ ₯μ κΈ°λ€λ¦½λλ€. Enter ν€λ₯Ό λλ₯Έ νμλ μ
λ ₯ λ°μ λ¬Έμμ΄μ λ°°μ΄μ μ μ₯ν©λλ€. κ·Έλ¬λ, gets ν¨μλ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, μ
λ ₯λ°μ λ¬Έμμ΄μ΄ λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όν  κ°λ₯μ±μ΄ μμ΅λλ€. μ΄λ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ λ₯Ό μΌκΈ°ν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€.
λμ μ, fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯ λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
char str[100];
fgets(str, sizeof(str), stdin);μμ μμ μμλ λ°°μ΄μ ν¬κΈ°λ₯Ό 100μΌλ‘ μ€μ νκ³ , fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κ³  μμ΅λλ€. sizeof μ°μ°μλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ ν¬κΈ°λ₯Ό ꡬνκ³ , stdinμ ν΅ν΄ μ¬μ©μμ μ
λ ₯μ λ°μ΅λλ€.
- gets ν¨μλ μ¬μ©μλ‘λΆν° μ λ ₯ λ°μ λ¬Έμμ΄μ λ°μλ€μ
gets ν¨μλ C μΈμ΄μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ΄ ν¨μλ μ¬μ©μκ° ν€λ³΄λλ‘ μ
λ ₯ν λ¬Έμμ΄μ νλ‘κ·Έλ¨μΌλ‘ κ°μ Έμ΅λλ€. μ
λ ₯ λ°μ λ¬Έμμ΄μ λ¬Έμμ΄ λ°°μ΄μ μ μ₯λ©λλ€.
gets ν¨μμ μ¬μ©λ²μ λ€μκ³Ό κ°μ΅λλ€:
char *gets(char *str);- str: μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄μ ν¬μΈν°
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ μλμ κ°μ λ¨κ³λ₯Ό λ°λ¦
λλ€:
- λ¬Έμμ΄μ μ λ ₯λ°μ λ°°μ΄μ μ μΈν©λλ€. νμν κ²½μ°, λ°°μ΄μ ν¬κΈ°λ₯Ό μ§μ νμ¬ μ€λ²νλ‘μ°λ₯Ό λ°©μ§ν μ μμ΅λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μμ μ λ ₯μ λ¬Έμμ΄ λ°°μ΄μ μ μ₯ν©λλ€.
μ¬μ©μλ λ¬Έμμ΄μ μ λ ₯νκΈ° μν΄ ν€λ³΄λλ₯Ό μ¬μ©ν©λλ€. μ λ ₯λ λ¬Έμμ΄μ μ¬μ©μκ° Enter ν€λ₯Ό λλ₯Ό λκΉμ§ μ λ ₯ λ²νΌμ μ μ₯λ©λλ€. Enter ν€λ₯Ό λλ₯΄λ©΄, μ λ ₯ λ°μ λ¬Έμμ΄μ΄ λ°°μ΄μ μ μ₯λ©λλ€.
κ·Έλ¬λ, gets ν¨μλ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, μ
λ ₯λ λ¬Έμμ΄μ΄ λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όν  μ μλ λ¬Έμ κ° λ°μν  μ μμ΅λλ€. μ΄λ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ λ₯Ό μ΄λν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€.
λμ μ, fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯ λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
char str[100];
fgets(str, sizeof(str), stdin);μμ μμ μμλ λ°°μ΄μ ν¬κΈ°λ₯Ό 100μΌλ‘ μ€μ νκ³ , fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κ³  μμ΅λλ€. sizeof μ°μ°μλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ ν¬κΈ°λ₯Ό ꡬνκ³ , stdinμ ν΅ν΄ μ¬μ©μμ μ
λ ₯μ λ°μ΅λλ€.
- μ λ ₯λ λ¬Έμμ΄μ νλ‘κ·Έλ¨μμ μ¬μ©νκΈ° μν΄ λ³μμ μ μ₯ν΄μΌ ν¨
gets ν¨μλ‘ μ
λ ₯ λ°μ λ¬Έμμ΄μ νλ‘κ·Έλ¨μμ μ¬μ©νκΈ° μν΄ λ³μμ μ μ₯ν΄μΌ ν©λλ€. μ μ₯λ λ¬Έμμ΄μ μ΄νμ λ€λ₯Έ μμ
μ νμ©ν  μ μμ΅λλ€.
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κ³  λ³μμ μ μ₯νκΈ° μν΄μλ μλμ κ°μ λ¨κ³λ₯Ό λ°λ¦
λλ€:
- μ λ ₯λ°μ λ¬Έμμ΄μ μ μ₯ν λ³μλ₯Ό μ μΈν©λλ€. μ΄ λ³μλ λ¬Έμμ΄μ μ μ₯νκΈ°μ μΆ©λΆν ν¬κΈ°λ₯Ό κ°μ ΈμΌ ν©λλ€.
- getsν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μμ μ λ ₯μ λ³μμ μ μ₯ν©λλ€.
μλ₯Ό λ€μ΄, μλμ κ°μ΄ gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κ³  λ³μμ μ μ₯ν  μ μμ΅λλ€:
char str[100];
gets(str);μμ μμ μμλ λ¬Έμμ΄μ μ μ₯νκΈ° μν΄ char νμ
μ λ°°μ΄μΈ strμ μ μΈνκ³  μμ΅λλ€. ν¬κΈ°λ₯Ό 100μΌλ‘ μ€μ ν μ΄μ λ μ
λ ₯λ°μ λ¬Έμμ΄μ μμ ν¬κΈ°μ λ°λΌ λ°°μ΄μ ν¬κΈ°λ₯Ό μ‘°μ ν  μ μκΈ° λλ¬Έμ
λλ€. gets ν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μκ° μ
λ ₯ν λ¬Έμμ΄μ λ°°μ΄ strμ μ μ₯ν©λλ€. μ΄νμ str λ³μλ₯Ό μ΄μ©νμ¬ μ μ₯λ λ¬Έμμ΄μ λ€λ₯Έ μμ
μ νμ©ν  μ μμ΅λλ€.
λ€λ§, gets ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. μ΄λ‘ μΈν΄ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ κ° λ°μν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€. λμ μ, fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
- gets ν¨μμ νν: gets(λ³μ);
gets ν¨μλ λ€μκ³Ό κ°μ ννλ₯Ό κ°μ§κ³  μμ΅λλ€:
gets(λ³μ);- gets: λ¬Έμμ΄μ μ λ ₯λ°λ ν¨μ
- λ³μ: μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ³μ
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ λ€μκ³Ό κ°μ λ¨κ³λ₯Ό λ°λ₯΄λ©΄ λ©λλ€:
- getsν¨μλ₯Ό νΈμΆνμ¬ λ¬Έμμ΄μ μ λ ₯λ°μ μ€λΉλ₯Ό ν©λλ€.
- μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ³μλ₯Ό μΈμλ‘ μ λ¬ν©λλ€.
μλ₯Ό λ€μ΄, μλμ κ°μ΄ gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€:
char str[100];
gets(str);μμ μμ μμλ char νμ
μ λ°°μ΄μΈ strμ μ
λ ₯λ°μ μ€λΉλ‘ μ¬μ©νμ¬ gets ν¨μλ₯Ό νΈμΆνκ³  μμ΅λλ€. μ
λ ₯λ λ¬Έμμ΄μ str λ³μμ μ μ₯λ©λλ€.
λ€λ§, gets ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. μ΄λ‘ μΈν΄ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ κ° λ°μν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€. λμ μ, fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
gets ν¨μμ νν: gets(λ³μ);
gets ν¨μλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ μ
λ ₯λ°λ ν¨μμ
λλ€. μ
λ ₯λ°μ λ¬Έμμ΄μ λ³μμ μ μ₯νκΈ° μν΄ μ¬μ©λ©λλ€. gets ν¨μλ λ€μκ³Ό κ°μ ννλ₯Ό κ°μ§κ³  μμ΅λλ€:
gets(λ³μ);- gets: μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ λ ₯λ°λ ν¨μ
- λ³μ: μ λ ₯λ λ¬Έμμ΄μ μ μ₯ν λ³μλ₯Ό λνλ λλ€.
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°κΈ° μν΄μλ μλ λ¨κ³λ₯Ό λ°λ¦
λλ€:
- getsν¨μλ₯Ό νΈμΆνμ¬ λ¬Έμμ΄μ μ λ ₯λ°μ μ€λΉλ₯Ό ν©λλ€.
- μ
λ ₯λ λ¬Έμμ΄μ μ μ₯ν  λ³μλ₯Ό getsν¨μμ μΈμλ‘ μ λ¬ν©λλ€.
μλ₯Ό λ€μ΄, μλμ κ°μ΄ gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€:
char str[100];
gets(str);μμ μμ μμλ char νμ
μ λ°°μ΄μΈ strμ μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°μ μ€λΉλ₯Ό νκ³  μμ΅λλ€. gets ν¨μλ μ¬μ©μκ° μ
λ ₯ν λ¬Έμμ΄μ str λ³μμ μ μ₯ν©λλ€.
λ€λ§, gets ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. μ΄λ‘ μΈν΄ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ κ° λ°μν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€. λμ μ, fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
3. gets ν¨μ μμ 
μλμ μμ λ gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ λ°©λ²μ 보μ¬μ€λλ€.
#include <stdio.h>
int main() {
    char str[100];
    printf("λ¬Έμμ΄μ μ
λ ₯νμΈμ: ");
    gets(str);
    printf("μ
λ ₯ν λ¬Έμμ΄: %s", str);
    return 0;
}μμ μμ λ λ€μκ³Ό κ°μ λμμ μνν©λλ€:
- μ¬μ©μμκ² λ¬Έμμ΄μ μ λ ₯νλΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- getsν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ λ ₯λ λ¬Έμμ΄μ- strλ³μμ μ μ₯ν©λλ€.
- strλ³μμ μ μ₯λ λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
gets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ μμ μμλ char νμ
μ λ°°μ΄μΈ strμ μ μΈν ν, gets ν¨μλ₯Ό νΈμΆνμ¬ μ¬μ©μλ‘λΆν° μ
λ ₯μ λ°μ΅λλ€. μ
λ ₯λ°μ λ¬Έμμ΄μ str λ³μμ μ μ₯λκ³ , μ΄νμ νμμ λ°λΌ ν΄λΉ λ¬Έμμ΄μ μ¬μ©ν  μ μμ΅λλ€.
νμ§λ§, gets ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. λ°λΌμ, μ€μ  μ¬μ©μμλ 보μμ μ·¨μ½ν μ μ κ³ λ €νμ¬ λμμΈ fgets ν¨μλ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
μμ : μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°κ³ , μ λ ₯λ μ΄λ¦μ μΆλ ₯νλ νλ‘κ·Έλ¨
μλμ μμ λ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°κ³ , μ λ ₯λ μ΄λ¦μ μΆλ ₯νλ νλ‘κ·Έλ¨μ 보μ¬μ€λλ€.
#include <stdio.h>
int main() {
    char name[50];
    printf("μ΄λ¦μ μ
λ ₯νμΈμ: ");
    gets(name);
    printf("μ
λ ₯ν μ΄λ¦: %s", name);
    return 0;
}μμ μμ λ λ€μκ³Ό κ°μ λμμ μνν©λλ€:
- μ¬μ©μμκ² μ΄λ¦μ μ λ ₯νλΌλ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
- getsν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° μ λ ₯λ μ΄λ¦μ- nameλ³μμ μ μ₯ν©λλ€.
- nameλ³μμ μ μ₯λ μ΄λ¦μ μΆλ ₯ν©λλ€.
μ΄ μμ μμλ char νμ
μ λ°°μ΄μΈ nameμ μ μΈνμ¬ μ΄λ¦μ μ μ₯νκΈ° μν 곡κ°μ ν λΉν©λλ€. μ¬μ©μλ‘λΆν° μ
λ ₯ λ°λ λΆλΆμμ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ
λ ₯λ μ΄λ¦μ name λ³μμ μ μ₯ν©λλ€. κ·Έ ν, μ μ₯λ μ΄λ¦μ μΆλ ₯νκΈ° μν΄ printf ν¨μλ₯Ό μ¬μ©ν©λλ€.
gets ν¨μλ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°μ§λ§, μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. μ΄λ‘ μΈν΄ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ κ° λ°μν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€. λ°λΌμ μ€μ  μ¬μ©μμλ λμμΈ fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
μ
λ ₯ μ½λ: gets(name);
gets(name);μ C νλ‘κ·Έλλ°μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ μ½λμ
λλ€.
gets ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μκ³ , λ€μκ³Ό κ°μ ꡬ문μΌλ‘ μ¬μ©λ©λλ€:
gets(name);μ¬κΈ°μ nameμ λ¬Έμμ΄μ μ μ₯ν  char νμ
μ λ°°μ΄μ
λλ€. gets ν¨μλ μ¬μ©μκ° μ
λ ₯ν λ¬Έμμ΄μ μ μ₯νκΈ° μν΄ name λ°°μ΄μ μ μ₯ν©λλ€.
gets ν¨μλ 곡백μ ν¬ν¨ν λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμΌλ©°, μ€λ°κΏ λ¬Έμ('\n')μ λ§λ  λκΉμ§ μ
λ ₯μ λ°μ΅λλ€. κ·Έλ° λ€μ, μ
λ ₯λ°μ λ¬Έμμ΄μ μλμΌλ‘ NULL λ¬Έμ('\0')λ‘ λλ§μ³ λ¬Έμμ΄μ λμ νμν©λλ€.
gets ν¨μλ μ
λ ₯λ°μ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκΈ° λλ¬Έμ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°μ μ μμ΅λλ€. μ΄λ‘ μΈν΄ λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ κ° λ°μν  μ μμΌλ―λ‘, gets ν¨μμ μ¬μ©μ κΆμ₯λμ§ μμ΅λλ€. λ°λΌμ μ€μ  μ¬μ©μμλ λμμΈ fgets ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ
λ ₯λ°λ κ²μ κΆμ₯ν©λλ€. fgets ν¨μλ μ
λ ₯λ°μ μ΅λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ§μ ν  μ μμ΄μ, λ°°μ΄μ ν¬κΈ°λ₯Ό μ΄κ³Όνλ μ
λ ₯μ λ°©μ§ν  μ μμ΅λλ€.
μΆλ ₯ μ½λ: puts(name);
puts(name);μ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ μΆλ ₯νλ μ½λμ
λλ€.
puts ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μκ³ , λ€μκ³Ό κ°μ ꡬ문μΌλ‘ μ¬μ©λ©λλ€:
puts(name);μ¬κΈ°μ nameμ μΆλ ₯ν  λ¬Έμμ΄μ΄ μ μ₯λ char λ°°μ΄μ
λλ€. puts ν¨μλ name λ°°μ΄μ μ μ₯λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν ν μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')μ μΆλ ₯νμ¬ λ€μ μΆλ ₯μ΄ μλ‘μ΄ μ€μμ μμλλλ‘ ν©λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ printf ν¨μλ³΄λ€ κ°λ¨ν λ¬Έλ²μ μ¬μ©νλ©°, λ¬Έμμ΄λ§ μΆλ ₯ν  μ μμ΅λλ€. λ°λΌμ puts ν¨μλ ν¬λ§· μ§μ μλ₯Ό μ¬μ©νμ¬ λ€μν νμμ λ°μ΄ν°λ₯Ό μΆλ ₯νλ printf ν¨μλ³΄λ€ κ°λ¨νκ² λ¬Έμμ΄μ μΆλ ₯ν  λ μ¬μ©λ©λλ€.
puts ν¨μλ μΆλ ₯ κ²°κ³Όλ₯Ό μλμΌλ‘ λ€μ μ€λ‘ μ΄λμν€κΈ° λλ¬Έμ, μ€λ°κΏ κΈ°λ₯μ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€.
μΆλ ₯ μ½λ: puts(name);
puts(name);μ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ μΆλ ₯νλ μ½λμ
λλ€.
μ΄ μ½λλ stdio.h ν€λ νμΌμ μ μλ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νκ³  μλμΌλ‘ μ€μ λ°κΎΈλ νΉμ§μ΄ μμ΅λλ€.
puts ν¨μλ₯Ό μ¬μ©νλ ꡬ문μ λ€μκ³Ό κ°μ΅λλ€:
puts(name);μ¬κΈ°μ nameμ μΆλ ₯ν  λ¬Έμμ΄μ΄ μ μ₯λ char λ°°μ΄μ
λλ€. puts ν¨μλ name λ°°μ΄μ μ μ₯λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€.
puts ν¨μμ κΈ°λ₯μ μ΄ν΄νκΈ° μν΄μλ λ¬Έμμ΄μ νΉμ±μ μμμΌ ν©λλ€. C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ char νμ
μ λ°°μ΄λ‘ ννλ©λλ€. λ¬Έμμ΄μ λ¬Έμλ€μ μ°μλ μνμ€μ΄λ©°, λ¬Έμμ΄μ λμλ NULL λ¬Έμ('\0')κ° μμ΄μΌ ν©λλ€. μ΄ NULL λ¬Έμλ λ¬Έμμ΄μ λμ λνλ΄λ νΉλ³ν λ¬Έμμ
λλ€.
puts ν¨μλ λ°°μ΄μ μ μ₯λ λ¬Έμμ΄μ μΆλ ₯ν  λ, λ¬Έμμ΄μ λμ μλ NULL λ¬Έμλ₯Ό λ§λ  λκΉμ§ λ¬Έμλ₯Ό μΆλ ₯ν©λλ€. 그리고 μΆλ ₯μ΄ λλλ©΄ μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νμ¬ μ€μ λ°κΏλλ€.
puts ν¨μλ λ¬Έμμ΄λ§ μΆλ ₯ν  μ μμΌλ©°, ν¬λ§· μ§μ μλ₯Ό μ¬μ©νμ¬ λ€λ₯Έ νμμ λ°μ΄ν°λ₯Ό μΆλ ₯ν  μ μμ΅λλ€. λ°λΌμ puts ν¨μλ κ°λ¨ν λ¬Έμμ΄μ μΆλ ₯νλ κ²½μ°μ μ¬μ©λ©λλ€.
puts ν¨μμ μ¬μ©λ²μ printf ν¨μλ³΄λ€ κ°λ¨νκ³  μ§κ΄μ μ
λλ€. κ·Έλ¬λ puts ν¨μλ μ€λ°κΏ κΈ°λ₯μ΄ μλμΌλ‘ ν¬ν¨λμ΄ μκΈ° λλ¬Έμ, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ λμ μλ μμ΅λλ€.
μΆλ ₯ μ½λλ₯Ό μμ±ν  λ, puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯ν  μ μμ΅λλ€. κ·Έλ¬λ μ¬μ©μλ‘λΆν° μ
λ ₯λ°μ λ¬Έμμ΄μ μ²λ¦¬ν  λλ gets ν¨μμ μ¬μ©μ νΌνλ κ²μ΄ μ’μ΅λλ€. gets ν¨μλ μ¬μ©μμ μ
λ ₯ κΈΈμ΄λ₯Ό 체ν¬νμ§ μκ³ , λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ λ₯Ό μ λ°ν  μ μκΈ° λλ¬Έμ
λλ€. λμ μ fgets ν¨μλ₯Ό μ¬μ©νμ¬ μ
λ ₯ κΈΈμ΄λ₯Ό μ ννκ³  μμ νκ² λ¬Έμμ΄μ μ
λ ₯λ°μ μ μμ΅λλ€.
4. puts ν¨μμ μ¬μ©λ²
puts ν¨μλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ μ¬μ©λλ ν¨μμ
λλ€. λ€μμ puts ν¨μμ μ¬μ©λ²μ λν μμΈν μ€λͺ
μ
λλ€.
puts ν¨μλ₯Ό μ¬μ©νλ ꡬ문μ λ€μκ³Ό κ°μ΅λλ€:
puts(str);μ¬κΈ°μ strμ μΆλ ₯ν  λ¬Έμμ΄μ μ μ₯ν char λ°°μ΄μ΄λ ν¬μΈν°μ
λλ€.
puts ν¨μλ μ£Όμ΄μ§ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μΆλ ₯ν ν μλμΌλ‘ μ€μ΄ λ°λκ² λ©λλ€. μ΄λ puts ν¨μκ° λ¬Έμμ΄μ μΆλ ₯ν λ€μ μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νκΈ° λλ¬Έμ
λλ€.
puts ν¨μμ μ λ¬λ λ¬Έμμ΄μ NULL λ¬Έμ('\0')κ° λμ¬ λκΉμ§ μΆλ ₯λ©λλ€. λ°λΌμ λ¬Έμμ΄μ λμλ λ°λμ NULL λ¬Έμκ° μμ΄μΌ ν©λλ€. NULL λ¬Έμκ° μλ κ²½μ°, puts ν¨μλ μ μμ μΌλ‘ λ¬Έμμ΄μ μΆλ ₯νμ§ λͺ»νκ³  μκΈ°μΉ μμ λμμ ν  μ μμ΅λλ€.
puts ν¨μλ λ¬Έμμ΄λ§ μΆλ ₯ν  μ μμ΅λλ€. λ€λ₯Έ νμ
μ λ°μ΄ν°λ₯Ό μΆλ ₯νκ±°λ ν¬λ§· μ§μ μλ₯Ό μ¬μ©νλ κ²μ λΆκ°λ₯ν©λλ€. μ΄λ¬ν κ²½μ°μλ printf ν¨μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
puts ν¨μλ μ¬μ©νκΈ° κ°λ¨νκ³  μ§κ΄μ μΈ ν¨μμ
λλ€. μ€λ°κΏ κΈ°λ₯μ μλμΌλ‘ μ²λ¦¬νκΈ° λλ¬Έμ, μ€λ°κΏμ΄ νμν κ²½μ°μ μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. κ·Έλ¬λ μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€. μ¦, stdio.h ν€λ νμΌμ μΆκ°λ‘ ν¬ν¨μν€μ§ μκ³ λ puts ν¨μλ₯Ό μ¬μ©ν  μ μμ΅λλ€.
puts ν¨μλ μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν¨
puts ν¨μλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ μ¬μ©λλ ν¨μμ
λλ€. μ΄ ν¨μλ μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. λ€μμ puts ν¨μμ μ¬μ©λ²μ λν μμΈν μ€λͺ
μ
λλ€.
puts ν¨μλ₯Ό μ¬μ©νλ ꡬ문μ λ€μκ³Ό κ°μ΅λλ€:
puts(str);μ¬κΈ°μ strμ μΆλ ₯ν  λ¬Έμμ΄μ μ μ₯ν char λ°°μ΄μ΄λ ν¬μΈν°μ
λλ€.
puts ν¨μλ μ£Όμ΄μ§ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μΆλ ₯ν ν μλμΌλ‘ μ€μ΄ λ°λκ² λ©λλ€. μ΄λ puts ν¨μκ° λ¬Έμμ΄μ μΆλ ₯ν λ€μ μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νκΈ° λλ¬Έμ
λλ€.
puts ν¨μμ μ λ¬λ λ¬Έμμ΄μ NULL λ¬Έμ('\0')κ° λμ¬ λκΉμ§ μΆλ ₯λ©λλ€. λ°λΌμ λ¬Έμμ΄μ λμλ λ°λμ NULL λ¬Έμκ° μμ΄μΌ ν©λλ€. NULL λ¬Έμκ° μλ κ²½μ°, puts ν¨μλ μ μμ μΌλ‘ λ¬Έμμ΄μ μΆλ ₯νμ§ λͺ»νκ³  μκΈ°μΉ μμ λμμ ν  μ μμ΅λλ€.
puts ν¨μλ λ¬Έμμ΄λ§ μΆλ ₯ν  μ μμ΅λλ€. λ€λ₯Έ νμ
μ λ°μ΄ν°λ₯Ό μΆλ ₯νκ±°λ ν¬λ§· μ§μ μλ₯Ό μ¬μ©νλ κ²μ λΆκ°λ₯ν©λλ€. μ΄λ¬ν κ²½μ°μλ printf ν¨μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
puts ν¨μλ μ¬μ©νκΈ° κ°λ¨νκ³  μ§κ΄μ μΈ ν¨μμ
λλ€. μ€λ°κΏ κΈ°λ₯μ μλμΌλ‘ μ²λ¦¬νκΈ° λλ¬Έμ, μ€λ°κΏμ΄ νμν κ²½μ°μ μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. κ·Έλ¬λ μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€. μ¦, stdio.h ν€λ νμΌμ μΆκ°λ‘ ν¬ν¨μν€μ§ μκ³ λ puts ν¨μλ₯Ό μ¬μ©ν  μ μμ΅λλ€.
λ¬Έμμ΄μ λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ ν¨
λ¬Έμμ΄μ C νλ‘κ·Έλλ°μμ ν
μ€νΈλ₯Ό μ²λ¦¬νλ λ°©λ² μ€ νλμ
λλ€. λ¬Έμμ΄μ μμλ°μ΄ν('') λμ  ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ ν©λλ€. ν°λ°μ΄νλ₯Ό μ¬μ©ν¨μΌλ‘μ¨ C μ»΄νμΌλ¬μκ² ν΄λΉ λ΄μ©μ΄ λ¬Έμμ΄μμ μ릴 μ μμ΅λλ€.
char str[] = "Hello, World!";μμ μμ μμ strμ λ¬Έμμ΄μ μ μ₯νκΈ° μν char λ°°μ΄μ
λλ€. λ¬Έμμ΄μ ν°λ°μ΄νλ‘ κ°μΈμ Έ μμΌλ©°, λ°°μ΄μ μ μ₯λ©λλ€.
C μΈμ΄μμ λ¬Έμμ΄μ NULL λ¬Έμ('\0')λ‘ μ’
λ£λμ΄μΌ ν©λλ€. λ°λΌμ λ¬Έμμ΄μ λμλ λ°λμ NULL λ¬Έμκ° μμ΄μΌ ν©λλ€. C μ»΄νμΌλ¬λ NULL λ¬Έμλ₯Ό λ¬Έμμ΄μ λμΌλ‘ μΈμνμ¬ λ¬Έμμ΄μ μ²λ¦¬ν©λλ€.
char str[] = "Hello, World!"; // μ¬λ°λ₯Έ λ¬Έμμ΄ μ μΈ
char str[] = "Hello, World!"; // μ¬λ°λ₯Έ λ¬Έμμ΄ μ μΈ
char str[] = 'Hello, World!'; // μ€λ₯: μμλ°μ΄ν μ¬μ© λΆκ°μ£Όμν μ μ λ¬Έμμ΄μ μμλ°μ΄νλ‘ κ°μΈμ§μ§ μλλ€λ κ²μ λλ€. μμλ°μ΄νλ λ¬Έμ(character)λ₯Ό λνλ΄κΈ° μν΄ μ¬μ©λ©λλ€.
λ¬Έμμ΄μ μΆλ ₯νλ ν¨μμΈ putsλ₯Ό μ¬μ©ν  λλ λμΌν κ·μΉμ΄ μ μ©λ©λλ€. puts ν¨μλ λ¬Έμμ΄μ ν°λ°μ΄νλ‘ κ°μΈμΌλ§ ν©λλ€. μμλ°μ΄νλ λ¬Έμ(character)λ₯Ό μΆλ ₯νλλ° μ¬μ©λ©λλ€.
char str[] = "Hello, World!";
puts(str); // μ¬λ°λ₯Έ μΆλ ₯
char str[] = 'Hello, World!';
puts(str); // μ€λ₯: μμλ°μ΄ν μ¬μ© λΆκ°λ°λΌμ, λ¬Έμμ΄μ νμ ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ νλ©°, μμλ°μ΄ν('')λ λ¬Έμ(character)λ₯Ό νννλ λ° μ¬μ©ν΄μΌ ν¨μ λͺ
μ¬ν΄μΌ ν©λλ€.
puts ν¨μμ νν: puts("λ¬Έμμ΄");
puts ν¨μλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νκΈ° μν΄ μ¬μ©λλ ν¨μμ
λλ€.
puts ν¨μλ λ€μκ³Ό κ°μ ννλ₯Ό κ°μ§κ³  μμ΅λλ€:
puts("λ¬Έμμ΄");μ¬κΈ°μ "λ¬Έμμ΄"μ μΆλ ₯ν  λ¬Έμμ΄μ λνλ
λλ€. λ¬Έμμ΄μ ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ ν©λλ€.
puts ν¨μλ₯Ό νΈμΆνλ©΄ μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€. μΆλ ₯λ νμλ μλμΌλ‘ μ€μ΄ λ°λλλ€. μ΄λ puts ν¨μκ° λ¬Έμμ΄μ μΆλ ₯ν λ€ μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νκΈ° λλ¬Έμ
λλ€.
μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯ν  μ μμ΅λλ€:
puts("Hello, World!");μμ μμ μμ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€.
μ£Όμν  μ μ λ¬Έμμ΄μ νμ ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ νλ€λ κ²μ
λλ€. μμλ°μ΄ν('')λ λ¬Έμ(character)λ₯Ό νννλλ° μ¬μ©λ©λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νκΈ° μν΄ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€. λ°λΌμ λ³λμ μΆκ° μ€μ μ΄ νμνμ§ μκ³ , stdio.h ν€λ νμΌμ ν¬ν¨μν€μ§ μμλ puts ν¨μλ₯Ό μ¬μ©ν  μ μμ΅λλ€.
puts ν¨μμ μ¬μ©μ κ°λ¨νκ³  μ§κ΄μ μ
λλ€. μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ μ€λ°κΏμ΄ νμν κ²½μ°μ μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
puts ν¨μμ νν: puts("λ¬Έμμ΄");
puts ν¨μλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νκΈ° μν΄ μ¬μ©λλ ν¨μμ
λλ€.
νν
puts("λ¬Έμμ΄");μ€λͺ
puts ν¨μλ μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μ΄ λ, μΆλ ₯λ νμλ μλμΌλ‘ μ€μ΄ λ°λλλ€. puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν λ€ μλμΌλ‘ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νλ κΈ°λ₯μ κ°μ§κ³  μμ΅λλ€.
μΈμ
- "λ¬Έμμ΄": μΆλ ₯ν λ¬Έμμ΄μ λνλ΄λ μΈμμ λλ€. λ¬Έμμ΄μ ν°λ°μ΄ν(- "")λ‘ κ°μΈμ ΈμΌ ν©λλ€.
μμ 
λ€μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νλ μμ μ
λλ€:
puts("Hello, World!");μμ μμ μμλ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€.
μ£Όμμ¬ν
- λ¬Έμμ΄μ νμ ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ ν©λλ€. μμλ°μ΄ν('')λ λ¬Έμ(character)λ₯Ό νννλλ° μ¬μ©λ©λλ€.
- putsν¨μλ- stdio.hν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€.
- μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ μ€λ°κΏμ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.5.putsν¨μ μμ 
λ€μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νλ μμ μ
λλ€:
#include <stdio.h>
int main() {
    puts("Hello, World!");
    return 0;
}μμ μμ μμλ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€.
μμ μ€λͺ
ν λλ‘, puts ν¨μλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νλ μν μ ν©λλ€. μΈμλ‘ μ λ¬λ λ¬Έμμ΄μ ν°λ°μ΄ν("")λ‘ κ°μΈμ ΈμΌ νλ©°, μΆλ ₯λ νμλ μλμΌλ‘ μ€λ°λμ΄ μ²λ¦¬λ©λλ€.
μμ μμ μμλ stdio.h ν€λ νμΌμ ν¬ν¨μμΌ puts ν¨μλ₯Ό μ¬μ©νκ³  μμ΅λλ€. λν, main ν¨μμμ puts ν¨μλ₯Ό νΈμΆνμ¬ "Hello, World!"λΌλ λ¬Έμμ΄μ μΆλ ₯νκ³  μμ΅λλ€. main ν¨μλ C νλ‘κ·Έλ¨μ μμμ μ΄λ©°, puts ν¨μμ νΈμΆμ main ν¨μ λ΄λΆμμ μ΄λ£¨μ΄μ ΈμΌ ν©λλ€.
μ΄ μμ λ₯Ό μ»΄νμΌνκ³ μ€ννλ©΄, νλ©΄μ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ μΆλ ₯λ©λλ€.
puts ν¨μλ μ€λ°κΏ λ¬Έμ('\n')λ₯Ό μΆλ ₯νλ κΈ°λ₯μ κ°μ§κ³  μκΈ° λλ¬Έμ, μΆλ ₯λ λ¬Έμμ΄ λ€μμλ μλ‘μ΄ μ€μμ λ€μ μΆλ ₯μ μ§νν©λλ€. λλ¬Έμ, μμ μμ μμ "Hello, World!" λ€μμλ λΉ μ€μ΄ μΆλ ₯λ©λλ€.
μμ μμ λ puts ν¨μλ₯Ό μ΄μ©νμ¬ κ°λ¨ν λ¬Έμμ΄μ μΆλ ₯νλ μμ μ
λλ€. puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μ€λ°κΏμ΄ νμν κ²½μ° μ¬μ©νκΈ° νΈλ¦¬ν ν¨μμ
λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
μμ : "Hello, World!"λ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨
λ€μμ C νλ‘κ·Έλλ°μμ "Hello, World!"λ₯Ό μΆλ ₯νλ κ°λ¨ν μμ μ λλ€.
#include <stdio.h>
int main() {
    puts("Hello, World!");
    return 0;
}μμ μ½λλ stdio.h ν€λ νμΌμ ν¬ν¨μν€κ³  main ν¨μλ₯Ό μ μν λ€, puts ν¨μλ₯Ό μ¬μ©νμ¬ "Hello, World!"λΌλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νλ μν μ ν©λλ€.
C νλ‘κ·Έλ¨μ main ν¨μκ° μμμ μ
λλ€. μμ μμ μμλ main ν¨μκ° μ μλμ΄ μμΌλ©°, puts ν¨μ νΈμΆμ ν¬ν¨νκ³  μμ΅λλ€.
puts ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€. puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯νλ κΈ°λ₯μ κ°μ§κ³  μμ΅λλ€.
μμ μμ μμλ puts ν¨μμ μΈμλ‘ "Hello, World!"λΌλ λ¬Έμμ΄μ μ λ¬νκ³  μμ΅λλ€. λ¬Έμμ΄μ ν°λ°μ΄ν("")λ‘ κ°μΈμ Έ μμ΄μΌ ν©λλ€. puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν λ€ μλμΌλ‘ μ€μ΄ λ°λλλ€.
νλ‘κ·Έλ¨μ μ»΄νμΌνκ³  μ€ννλ©΄, νλ©΄μ "Hello, World!"κ° μΆλ ₯λ©λλ€. λν, main ν¨μμ λ°νκ°μΌλ‘ 0μ΄ μ λ¬λμ΄ νλ‘κ·Έλ¨μ΄ μ μμ μΌλ‘ μ’
λ£λ©λλ€.
puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μΆλ ₯λ λ¬Έμμ΄ λ€μμλ μλ‘μ΄ μ€μμ λ€μ μΆλ ₯μ μ§νν©λλ€. λλ¬Έμ, μμ μμ μμ "Hello, World!" λ€μμλ λΉ μ€μ΄ μΆλ ₯λ©λλ€.
μ΄ μμ λ C νλ‘κ·Έλλ°μμ "Hello, World!"λ₯Ό μΆλ ₯νλ κΈ°λ³Έμ μΈ μμ μ
λλ€. puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μ€λ°κΏμ΄ νμν κ²½μ° μ¬μ©νκΈ° νΈλ¦¬ν©λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
μΆλ ₯ μ½λ: puts("Hello, World!");
μμ μΆλ ₯ μ½λμΈ puts("Hello, World!");λ C νλ‘κ·Έλ¨μμ λ¬Έμμ΄μ μΆλ ₯νλ μ½λμ
λλ€.
puts ν¨μλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νλ μν μ ν©λλ€. μ΄ ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, C νμ€ λΌμ΄λΈλ¬λ¦¬μ ν¬ν¨λμ΄ μμ΅λλ€. puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λλ κΈ°λ₯μ κ°μ§κ³  μμ΄ νΈλ¦¬νκ² μ¬μ©ν  μ μμ΅λλ€.
μμ μμ μμλ puts ν¨μμ μΈμλ‘ "Hello, World!"λΌλ λ¬Έμμ΄μ μ λ¬νκ³  μμ΅λλ€. λ¬Έμμ΄μ ν°λ°μ΄ν("")λ‘ κ°μΈμ Έ μμ΄μΌ ν©λλ€. λ°λΌμ, puts("Hello, World!"); μ½λλ₯Ό μ€ννλ©΄ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€.
puts ν¨μλ λ¬Έμμ΄μ μΆλ ₯ν λ€ μλμΌλ‘ μ€λ°κΏ μ²λ¦¬λ₯Ό ν΄μ€λλ€. λλ¬Έμ, μμ μμ μμ "Hello, World!" λ€μμλ μλ‘μ΄ μ€μμ λ€μ μΆλ ₯μ΄ μ΄λ£¨μ΄μ§λλ€. λ°λΌμ, "Hello, World!" λ€μμλ λΉ μ€μ΄ μΆλ ₯λ©λλ€.
μμ μΆλ ₯ μ½λλ C νλ‘κ·Έλλ°μμ λ¬Έμμ΄μ κ°λ¨νκ² μΆλ ₯νλ λ°©λ²μ
λλ€. puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μΆλ ₯ κ²°κ³Όμ μ€λ°κΏμ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
μΆλ ₯ μ½λ: puts("Hello, World!");
puts("Hello, World!");λ C νλ‘κ·Έλ¨μμ λ¬Έμμ΄μ μΆλ ₯νλ μ½λμ
λλ€. 
puts ν¨μλ C μΈμ΄μμ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νλ ν¨μμ΄λ©°, stdio.h ν€λ νμΌμ μ μλμ΄ μμ΅λλ€. μ΄ ν¨μλ μ΄μ체μ κ° μ κ³΅νλ μΆλ ₯ μ₯μΉμ λ°λΌ λ¬Έμμ΄μ μ μ ν λ°©μμΌλ‘ μΆλ ₯ν΄μ€λλ€.
μμ μμ μμλ puts ν¨μλ₯Ό μ¬μ©νμ¬ "Hello, World!"λΌλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯νκ³  μμ΅λλ€. puts ν¨μλ λ¬Έμμ΄μ μΈμλ‘ λ°μΌλ©°, ν° λ°μ΄νλ‘ λ¬Άμ¬ μλ λ¬Έμμ΄μ μΈμλ‘ μ λ¬ν©λλ€.
λ¬Έμμ΄ μΆλ ₯μ μν΄ puts ν¨μλ₯Ό μ¬μ©νλ μ΄μ λ λ€μκ³Ό κ°μ΅λλ€.
- putsν¨μλ μ€λ°κΏμ μλμΌλ‘ μ²λ¦¬ν΄μ£ΌκΈ° λλ¬Έμ, κ°ν λ¬Έμλ₯Ό λ°λ‘ μΆκ°ν νμκ° μμ΅λλ€.
- putsν¨μλ μΆλ ₯ κ²°κ³Όλ₯Ό μλμΌλ‘ κ°ννμ¬ κ°λ μ±μ λμ¬μ€λλ€.
μμ μ½λλ₯Ό μ€ννλ©΄ "Hello, World!"λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€. μΆλ ₯λ λ¬Έμμ΄ λ€μμλ μλ κ°νμ΄ μνλμ΄ λΉ μ€μ΄ μΆλ ₯λ©λλ€.
μ΄λ¬ν νΉμ±μΌλ‘ μΈν΄, puts ν¨μλ κ°λ¨ν λ¬Έμμ΄ μΆλ ₯μ λ§μ΄ μ¬μ©λμ§λ§, λ¬Έμμ΄ μ΄μΈμ λ°μ΄ν°λ₯Ό μΆλ ₯νκΈ°μλ λΆμ μ ν  μ μμ΅λλ€. λ¬Έμμ΄ μ΄μΈμ λ°μ΄ν°λ₯Ό μΆλ ₯νκΈ° μν΄μλ printf ν¨μ λ± λ€λ₯Έ ν¨μλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
μμ μμ λ C νλ‘κ·Έλλ°μμ "Hello, World!"λ₯Ό μΆλ ₯νλ κΈ°λ³Έμ μΈ μμ μ
λλ€. puts ν¨μλ₯Ό μ¬μ©νμ¬ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λλ λ¬Έμμ΄ μΆλ ₯μ μ½κ² ν  μ μμ΅λλ€.
μ¬μ©μ μ
λ ₯ λ°κΈ°: gets
C νλ‘κ·Έλ¨μμ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ κΈ°λ₯μ μ κ³΅νλ ν¨μμΈ getsμ λν΄ μμ보겠μ΅λλ€.
gets ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, λ¬Έμμ΄μ μ
λ ₯λ°μμ λ²νΌμ μ μ₯ν©λλ€. μ¬μ©μκ° λ¬Έμμ΄μ μ
λ ₯νκΈ° μ κΉμ§ gets ν¨μλ μ
λ ₯ λκΈ° μνμ 머무λ¦
λλ€. μ¬μ©μκ° μ€λ°κΏ λ¬Έμλ₯Ό μ
λ ₯νλ©΄, μ
λ ₯λ λ¬Έμμ΄μ λ²νΌμ μ μ₯νκ³  λ μ΄μ μ
λ ₯μ λ°μ§ μμ΅λλ€.
λ€μμ gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°λ κ°λ¨ν μμ μ
λλ€:
#include <stdio.h>
int main() {
    char name[20];
    printf("μ΄λ¦μ μ
λ ₯νμΈμ: ");
    gets(name);
    printf("μλ
νμΈμ, %sλ!\n", name);
    return 0;
}μ μμ μμλ char name[20];μ μ¬μ©νμ¬ 20κ°μ λ¬Έμλ₯Ό μ μ₯ν  μ μλ λ¬Έμμ΄ λ°°μ΄μΈ nameμ μ μν©λλ€. μ¬μ©μλ‘λΆν° μ
λ ₯λ°μ μ΄λ¦μ μ μ₯νκΈ° μν΄ μ΄ λ°°μ΄μ μ¬μ©ν©λλ€.
printf ν¨μλ₯Ό μ¬μ©νμ¬ "μ΄λ¦μ μ
λ ₯νμΈμ: " λ©μμ§λ₯Ό νλ©΄μ μΆλ ₯ν©λλ€. κ·Έλ° λ€μ, gets(name);μ μ¬μ©νμ¬ μ¬μ©μλ‘λΆν° λ¬Έμμ΄μ μ
λ ₯λ°μ΅λλ€. μ
λ ₯λ λ¬Έμμ΄μ name λ°°μ΄μ μ μ₯λ©λλ€.
printf ν¨μλ₯Ό λ€μ μ¬μ©νμ¬ "μλ
νμΈμ, %sλ!" λ©μμ§λ₯Ό νλ©΄μ μΆλ ₯νκ³  μμ΅λλ€. μ΄λ %sλ λ¬Έμμ΄μ μμΉλ₯Ό λνλ΄λ νμ μ§μ μμ
λλ€. %sλ λ¬Έμμ΄μ μΆλ ₯ν  μμΉλ‘ λμ²΄λ  κ²μ
λλ€. λ°λΌμ, printf("μλ
νμΈμ, %sλ!\n", name); μ½λμμλ name λ°°μ΄μ μ μ₯λ λ¬Έμμ΄μ μΆλ ₯ν©λλ€.
μ΄λ κ²νλ©΄ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ λ ₯λ°μ μΆλ ₯νλ κ°λ¨ν νλ‘κ·Έλ¨μ΄ μμ±λ©λλ€.
gets ν¨μλ₯Ό μ¬μ©νμ¬ μ¬μ©μ μ
λ ₯μ λ°λ κ²½μ°μλ μ
λ ₯μ κΈΈμ΄λ₯Ό μ ννλ κ²μ΄ μ€μν©λλ€. μ
λ ₯ λ°μ λ²νΌμ ν¬κΈ°λ₯Ό λμ΄μλ μ
λ ₯μ μλνλ©΄, λ²νΌ μ€λ²νλ‘μ°μ κ°μ λ¬Έμ κ° λ°μν  μ μμ΅λλ€. μ΄λ₯Ό λ°©μ§νκΈ° μν΄, μ
λ ₯μ λ°μ λ²νΌμ ν¬κΈ°λ³΄λ€ μμ κΈΈμ΄μ λ¬Έμμ΄λ§ μ
λ ₯λ°λλ‘ μ‘°μΉν΄μΌ ν©λλ€.
μμ μμ μμλ name λ°°μ΄μ ν¬κΈ°λ₯Ό 20μΌλ‘ μ€μ νμ¬ μ΅λ 20κ°μ λ¬Έμλ₯Ό μ
λ ₯λ°μ μ μλλ‘ νμ΅λλ€. λ§μ½ μ¬μ©μκ° 20κ°λ³΄λ€ κΈ΄ λ¬Έμμ΄μ μ
λ ₯νλ €κ³  μλνλ©΄, μ€κ°λΆν° μλ₯΄κ² λ©λλ€.
μ€μ  νλ‘κ·Έλλ°μμλ λ€μν λ°©μμΌλ‘ gets ν¨μλ₯Ό νμ©ν  μ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ ν¨μ¨μ μ΄κ³  νΈλ¦¬ν μ¬μ©μ μ
λ ₯ μ²λ¦¬λ₯Ό ꡬνν  μ μμ΅λλ€. λ€λ§, λ²νΌ μ€λ²νλ‘μ°μ κ°μ 보μ λ¬Έμ λ₯Ό κ³ λ €νμ¬ μ
λ ₯μ κΈΈμ΄λ₯Ό μ ννλ κ²μ΄ μ€μν©λλ€. 
μμ μμ λ μ¬μ©μλ‘λΆν° μ΄λ¦μ μ
λ ₯λ°λ κ°λ¨ν μμ λ₯Ό μκ°νκ³  μμΌλ©°, μ€μ  νλ‘κ·Έλ¨μμλ λ€μν μν©μ λ§κ² gets ν¨μλ₯Ό νμ©ν  μ μμ΅λλ€.
λ¬Έμμ΄ μΆλ ₯νκΈ°: puts
C νλ‘κ·Έλ¨μμ λ¬Έμμ΄μ μΆλ ₯νλ κΈ°λ₯μ μ κ³΅νλ ν¨μμΈ putsμ λν΄ μμ보겠μ΅λλ€.
puts ν¨μλ stdio.h ν€λ νμΌμ μ μλμ΄ μμΌλ©°, μ
λ ₯λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. puts ν¨μλ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν λ€ μλμΌλ‘ μ€λ°κΏμ μ²λ¦¬ν΄μ€λλ€.
λ€μμ puts ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μΆλ ₯νλ κ°λ¨ν μμ μ
λλ€:
#include <stdio.h>
int main() {
    char greeting[] = "μλ
νμΈμ, μΈμ!";
    puts(greeting);
    return 0;
}μ μμ μμλ "μλ
νμΈμ, μΈμ!"μ΄λΌλ λ¬Έμμ΄μ μ μ₯ν λ°°μ΄ greetingμ μ μν©λλ€.
puts(greeting);μ μ¬μ©νμ¬ greeting λ°°μ΄μ μ μ₯λ λ¬Έμμ΄μ νλ©΄μ μΆλ ₯ν©λλ€. μ€λ°κΏ λ¬Έμκ° μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μΆλ ₯ κ²°κ³Όμλ λ€μ μ€μμ λ€μ μΆλ ₯μ΄ μ΄λ£¨μ΄μ§λλ€.
μ΄λ κ²νλ©΄ "μλ νμΈμ, μΈμ!"μ΄λΌλ λ¬Έμμ΄μ΄ νλ©΄μ μΆλ ₯λ©λλ€.
puts ν¨μλ μ€λ°κΏμ΄ μλμΌλ‘ μ²λ¦¬λκΈ° λλ¬Έμ, μΆλ ₯ κ²°κ³Όμ μ€λ°κΏμ΄ νμν κ²½μ° μ μ©νκ² μ¬μ©ν  μ μμ΅λλ€. λ€λ§, μ€λ°κΏμ΄ νμνμ§ μμ κ²½μ°μλ λ€λ₯Έ μΆλ ₯ ν¨μλ₯Ό μ ννλ κ²μ΄ λ μ μ ν  μ μμ΅λλ€.
μ€μ  νλ‘κ·Έλλ°μμλ λ€μν λ°©μμΌλ‘ puts ν¨μλ₯Ό νμ©ν  μ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ ν¨μ¨μ μ΄κ³  νΈλ¦¬ν λ¬Έμμ΄ μΆλ ₯μ ꡬνν  μ μμ΅λλ€.
μμ μμ λ λ¬Έμμ΄μ μΆλ ₯νλ κ°λ¨ν μμ λ₯Ό μκ°νκ³  μμΌλ©°, μ€μ  νλ‘κ·Έλ¨μμλ λ€μν μν©μ λ§κ² puts ν¨μλ₯Ό νμ©ν  μ μμ΅λλ€.
λκΈ