1.   ¹®ÀÚ ¹è¿­ÀÇ ÀÔÃâ·Â

¡¼01¡½ ¹®ÀÚ¿­ Ãâ·Â

¹®ÀÚ(charÇü) ¹è¿­ÀÇ ³»¿ëÀ» ¸ð´ÏÅÍ·Î Ãâ·ÂÇÒ °æ¿ì printf() ÇÔ¼ö¿¡¼­ Çü½Ä ÁöÁ¤ ¹®ÀÚ¿­Àº '%c'³ª '%s'¸¦ »ç¿ëÇÕ´Ï´Ù. '%c'´Â ¹®ÀÚ ¹è¿­¿¡ ÀúÀåµÈ ƯÁ¤ ¹®ÀÚ¸¦ Ãâ·ÂÇÒ ¶§ »ç¿ëÇϸç, '%s'´Â ¹®ÀÚ ¹è¿­¿¡ ÀúÀåµÈ ¹®ÀÚ¿­À» Ãâ·ÂÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ƯÈ÷ '%s'¸¦ »ç¿ëÇÒ ¶§´Â ÁöÁ¤µÈ À§Ä¡¿¡¼­ºÎÅÍ ¹®ÀÚ¿­ ³¡À» ÀǹÌÇÏ´Â NULL ¹®ÀÚ('\0') Àü±îÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù.

'%s'´Â NULL ¹®ÀÚ('\0') Àü±îÁö Ãâ·Â

 

char c[8]="Computer"; ·Î ÁöÁ¤ÇÑ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ÀúÀåÀÌ µË´Ï´Ù.

c[0]

c[1]

c[2]

c[3]

c[4]

c[5]

c[6]

c[7]

C

o

m

p

u

t

e

r

 

¿©±â¿¡´Â ¹®ÀÚ¿­ ³¡À» ÀǹÌÇÏ´Â NULL ¹®ÀÚ°¡ ¹è¿­ ¼Ó¿¡ µé¾îÀÖÁö ¾ÊÀ¸¹Ç·Î, '%s'¸¦ »ç¿ëÇÏ¿© Ãâ·ÂÇÏ´Â °æ¿ì¿¡ ¿øÇÏ´Â °á°ú¸¦ ¾òÀ» ¼ö ¾ø½À´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

#include <stdio.h>

int main(void){

  char c[8]="Computer";

  printf("%s", c );

}

 

¡¼½ÇÇà °á°ú¡½

Computer 4#

 

À§ ÇÁ·Î±×·¥¿¡¼­ ¹®ÀÚ ¹è¿­ c[8]¿¡ 8±ÛÀÚÀÇ 'Computer'¸¦ ÀúÀåÇÏ¿´À¸³ª '%s' Çü½ÄÀ¸·Î Ãâ·ÂÇÏ¿´À» ¶§ Á¤»óÀûÀ¸·Î 'Computer'°¡ Ãâ·ÂµÇÁö ¸øÇÑ °ÍÀº ¹®ÀÚ¿­ÀÇ ³¡À» ³ªÅ¸³»´Â NULL ¹®ÀÚ°¡ ¹è¿­¿¡ ÀúÀåµÇÁö ¸øÇÏ¿´±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ ¹®ÀÚ ¹è¿­À» »ç¿ëÇÒ ¶§¿¡´Â ÀÌ¿Í °°Àº Á¡À» °í·ÁÇÏ¿© ÀúÀåÇÒ ¹®ÀÚ ¼ö°¡ ¹è¿­ÀÇ Å©±âº¸´Ù ÀÛ°Ô ÇÏ¿©¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ À§ ÇÁ·Î±×·¥ÀÇ printf() ¸í·ÉÀº Ãâ·ÂÇÒ ´ë»óÀ¸·Î ¹è¿­ÀÇ À̸§ 'c' ¸¸À» ÁöÁ¤Çϰí Àִµ¥, º»·¡ ¹è¿­ÀÇ À̸§Àº ¹è¿­ÀÇ ½ÃÀÛ ÁÖ¼Ò¸¦ ÀǹÌÇÕ´Ï´Ù. ´Ù½Ã ¸»Çؼ­ %s Çü½ÄÀ¸·Î ¹®ÀÚ ¹è¿­À» Ãâ·ÂÇÑ´Ù´Â °ÍÀº ÁöÁ¤µÈ ÁÖ¼Ò¿¡¼­ºÎÅÍ NULL ¹®ÀÚ Àü±îÁöÀÇ ¹®ÀÚµéÀ» Ãâ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù.

µû¶ó¼­ printf("%s", c ); ¶ó´Â ¸í·ÉÀº ¹è¿­ c¿¡ µé¾î ÀÖ´Â ¸ðµç ¹®ÀÚ¿­À» Ãâ·ÂÇ϶ó´Â ¸í·ÉÀÔ´Ï´Ù. ¹°·Ð ¹è¿­ÀÇ ¸¶Áö¸·¿¡ NULL(\0)ÀÌ ÀúÀåµÇ¾î ÀÖ´Â °æ¿ì¿¡´Â Á¤»óÀûÀ¸·Î Ãâ·ÂÇÏÁö¸¸ ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â Á¦´ë·Î Ãâ·ÂÀÌ µÇÁö ¾Ê½À´Ï´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½   

// File Name: ex01_06_char_02.c

#include <stdio.h>

int main(void){

  char c[9]="Computer";

  printf("%s", c );

}

 

¡¼½ÇÇà °á°ú¡½

Computer

 

´ÙÀ½Àº 2Â÷¿ø ¹®ÀÚ ¹è¿­¿¡ µ¥ÀÌÅ͸¦ ÃʱâÈ­ ÇÏ¿© Ãâ·ÂÇÏ´Â °æ¿ìÀε¥, ÀÌ °æ¿ìµµ ¿ì¸®°¡ ±â´ëÇÏ´Â °á°ú¸¦ ¾òÁö ¸øÇÕ´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name: ex01_06_char_04.c

#include <stdio.h>

int main(void){

  int i;

  char c[3][5]= { "ABCDE", "FGH", "IJKL" } ;

  for( i=0; i<3; i++ ) {

   printf("%s\n", c[i] );

  }

}

 

¡¼½ÇÇà °á°ú¡½

ABCDEFGH

FGH

IJKL

 

À§ ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¿¡¼­ "ABCDE" ¿Í "FGH"°¡ ºÙ¾î¼­ Ãâ·ÂµÇ´Â °ÍÀº ù ¹øÂ° ¹®ÀÚ¿­ µÚ¿¡ NULL ¹®ÀÚ°¡ ÀúÀåµÇÁö ¸øÇÏ¿´±â ¶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ 2Â÷¿ø ¹®ÀÚ ¹è¿­ÀÇ ³»¿ëÀ» Ãâ·ÂÇÒ ¶§ printf() ¸í·É¿¡¼­ c[i]¿Í °°ÀÌ ±â¼úÇÑ °ÍÀº, 2Â÷¿ø ¹è¿­ÀÌ ÇÑ ÇàÀÇ 1Â÷¿ø ¹è¿­À» ÇѰ³ÀÇ ¿ø¼Ò·Î ÇÏ´Â ¶Ç´Ù¸¥ 1Â÷¿ø ¹è¿­À̱⠶§¹®ÀÌ´Ù. Áï, c[i]´Â 2Â÷¿ø ¹è¿­¿¡¼­ i¹øÂ° ÇàÀÇ À̸§À̸ç À̰ÍÀº i¹øÂ° ÇàÀÇ ½ÃÀÛ ÁÖ¼Ò°¡ µÈ´Ù.

char c[3][5]À» char c[3][6]À¸·Î ¹Ù²Ù¾î º¸°Ú½À´Ï´Ù. ±×·¯¸é ù ¹øÂ° ¹®ÀÚ¿­ µÚ¿¡ NULL ¹®ÀÚ°¡ ÀúÀåµÇ¹Ç·Î Á¤»óÀûÀ¸·Î Ãâ·ÂÀÌ µÉ °ÍÀÔ´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name: ex01_06_char_05.c

#include <stdio.h>

int main(void){

  int i;

  char c[3][6]= { "ABCDE", "FGH", "IJKL" } ;

  for( i=0; i<3; i++ ) {

   printf("%s\n", c[i] );

  }

}

 

¡¼½ÇÇà °á°ú¡½

ABCDE

FGH

IJKL

¹®ÀÚ ¹è¿­ÀÇ Ãâ·Â ¹®Á¦¸¦ Á»´õ ¾Ë¾Æº¸±â À§ÇØ ´ÙÀ½ ¿¹Á¦ ÇÁ·Î±×·¥À» »ìÆìº¾½Ã´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

#include <stdio.h>

int main(void){

  int i;

  char string[]="ABCDEFGHIJ" ;

  for( i=0; i<10; i++ ) {

   printf("%s\n", &string[i] );

  }

}

 

¡¼½ÇÇà °á°ú¡½

ABCDEFGHIJ

BCDEFGHIJ

CDEFGHIJ

DEFGHIJ

EFGHIJ

FGHIJ

GHIJ

HIJ

IJ

J

 

À§ ÇÁ·Î±×·¥ÀÇ printf() ¸í·É¿¡ »ç¿ëÇÑ &string[i]´Â 1Â÷¿ø ¹è¿­ string[]ÀÇ i ¹øÂ° ¿ø¼ÒÀÇ ÁÖ¼Ò¸¦ ÀǹÌÇÕ´Ï´Ù. µû¶ó¼­ i ¹øÂ° ¹®ÀÚºÎÅÍ ½ÃÀÛÇØ¼­ ¸¶Áö¸· ¹®ÀÚ±îÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù. ¹®ÀÚ ¹è¿­À» ¼±¾ðÇϸé, scanf() ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ¿©±â¿¡ Æí¸®ÇÏ°Ô µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¼ö ÀÖÀ¸¸ç, À̶§ Çü½Ä ÁöÁ¤ ¹®Àڷδ %s ¸¦ »ç¿ëÇÕ´Ï´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

#include <stdio.h>

int main(void){

  char c[20];

  printf("Enter your name : " );

  scanf("%s", c);

  printf("Oh! You are %s.\n", c);

  return 0;

}

 

¡¼½ÇÇà °á°ú¡½

Enter your name : Lee Yeonwoo

Oh! You are Lee.

 

À§ ÇÁ·Î±×·¥ÀÇ ½ÇÇà °á°ú¸¦ »ìÆìº¸¸é »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ À̸§ÀÌ ¿ÏÀüÇÏ°Ô Ãâ·ÂµÇÁö ¾ÊÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. scanf() ÇÔ¼ö´Â ¹®ÀÚ¿­À» ÀÔ·ÂÇÒ ¶§, óÀ½ ³ªÅ¸³ª´Â °ø¹é ÀÌÈÄÀÇ ¹®ÀÚ¿­Àº ÀоîµéÀÌÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex0139_stringArray.c

#include <stdio.h>

int main(void){

  char str1[20]="¿ÀÀç°ü C¾ð¾î ±³½Ç1";

  char *str2="¿ÀÀç°ü C¾ð¾î ±³½Ç2";

  printf("¹®ÀÚ¿­ Ãâ·Â :%s \n", str1);

  printf("¹®ÀÚ¿­ Ãâ·Â :%s \n", str2);

  return 0;

}

 

 

¡¼02¡½ ¹®ÀÚ¿­ ÀÔ·Â

¹®ÀÚ¿­À» ÀϹÝÀûÀÎ ¹æ¹ýÀº ¹®ÀÚÇü ¹è¿­À»

ü  ¹®ÀÚ¿­À» ±â¾ïÇÒ ¼ö ÀÖ´Â ±â¾ïÀå¼Ò·Î ¼±¾ðÇϰí

ü  ¹®ÀÚ¿­ ÀÔ·ÂÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÀÔ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù.

 

1)    scanf()ÇÔ¼ö

scanf()ÇÔ¼ö´Â µµÁß¿¡ ½ºÆäÀ̽º°¡ ÀÖÀ¸¸é ÀÔ·ÂÀ» ÁßÁöÇÏ´Â ÇÔ¼öÀÌÁö¸¸ À̸¦ ´ëüÇÏ´Â gets()ÇÔ¼ö´Â Æí¸®ÇÏÁö¸¸ ¹®Á¦°¡ À־ Ç¥ÁØÇÔ¼ö¿¡¼­ Á¦¿ÜÇÑ ÇÔ¼öÀ̹ǷΠ»ç¿ëÇÏÁö ¾Ê´Â °Í ÁÁ½À´Ï´Ù. µû¶ó¼­ ¹®ÀÚ¿­¿¡ ½ºÆäÀ̽º°¡ ¾ø°Å³­ ½ºÆäÀ̽º·Î ±¸ºÐÇÏ¿© ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ´Â °æ¿ì¿¡´Â ¿©ÀüÈ÷ scanf()ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù.

 

scanf("%s", ¹è¿­¸í);            // ¹è¿­¸í ¾Õ¿¡ & ±âÈ£ ¾øÀ½

 

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : gets_02.c

#include <stdio.h>

int main(void){

  char gname[20], sname[20];

  printf("À̸§ ÀÔ·Â:"); gets(gname);

  printf("À̸§ ÀÔ·Â:"); scanf("%s", sname);

 

  printf("À̸§ Ãâ·Â(gets() »ç¿ë):%s\n", gname);

  printf("À̸§ Ãâ·Â(scanf() »ç¿ë):s\n", sname);

}

 

³Ê¹«³ªµµ ¾î·Á¿î scanf() ÇÔ¼ö

º¸Åë ÇÚµåÆù ¿ä±ÝÀº 5°¡ÁöÀ̹ǷÎ(¹°·Ð 6ÀÚ¸® ÇÚµåÆù ¿ä±ÝÀ» ³»´Â »ç¶÷µµ ÀÖÁö¸¸...) 5ÀÚ¸®¸¦ ÁöÁ¤ÇÏ¿©¾ß ÇÏÁö¸¸, scanf¿¡¼­ ½ºÆäÀ̽º·Î ÀÔ·ÂÀ» ±¸ºÐÇϹǷΠÇÚµåÆù ¿ä±ÝÀ» 6ÀÚ¸®¸¦ È®º¸()ÇÏ¿© Ãâ·ÂÇϵµ·Ï ÁöÁ¤ÇÏ¿´½À´Ï´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_scanf01.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10];

char name[10];

char address[20];

int fee01, fee02;

 

int main(){

    uf_input();

    uf_print();

}

 

void uf_input(){

    char ch;

    printf("ID:");

    scanf("%s", ID);

    printf("\nÀ̸§:");

    scanf("%s", name);

    printf("\nÁÖ¼Ò:");

    scanf("%s", address);

    printf("\n1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    ch=getchar();  ch=getchar(); // ch=getchar();

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\n====================================\n");

    printf("\nID              À̸§         ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("\n%-10s \t", ID);

    printf("%-8s \t", name);

    printf("%-10s", address);

    printf("%-5d %-5d", fee01, fee02);

}

 

¡¼½ÇÇà °á°ú¡½

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

12345678901234567890123456789012345678901234567890

principia Michael    Seoul      15000 56000

 

fee01°ú fee02¸¦ °ø¹é ¾øÀÌ 6ÀÚ¸®¸¦ È®º¸ÇÏ¿© ¿À¸¥ÂÊ Á¤·ÄÇÏ¿© Ãâ·ÂÇÏ°Ô ¼³Á¤ÇÏ¿´½À´Ï´Ù.

 

scanf("%d %d", &fee01, &fee02); ¿¡¼­ 15000°ú 56000À» °ø¹éÀ» Çϳª µÎ¾î¼­ ÀÔ·ÂÇÏ¿´À¸¹Ç·Î ÀÔ·ÂÇÑ 15000Àº fee01¿¡ ÀԷµǰí, 56000¿¡ °¢°¢ ÀԷµǾú½À´Ï´Ù.

 

ÀÌÁ¦ ÁÖ¼Ò¸¦ Seoul Korea·Î ÀÔ·ÂÇÏ¿© º¾½Ã´Ù.

 

¡¼½ÇÇà °á°ú¡½

ID:principia

 

À̸§:Michael

 

ÁÖ¼Ò:Seoul Korea

 

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:

12345678901234567890123456789012345678901234567890

 

principia Michael   Seoul          0     0

 

ÁÖ¼Ò¿¡ °ø¹éÀÌ Çϳª°¡ ÀÖÀ¸¹Ç·Î ¿ä±ÝÀº ÀԷ¹ÞÁö ¸øÇϰí ÁøÇàÀÌ µÇ¾î¼­ ¿ä±ÝÀÌ ÀüºÎ 0¿øÀ¸·Î Ãâ·ÂÀÌ µË´Ï´Ù.

 

char address[20]; ·Î ÁöÁ¤ÇÑ °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ ÀúÀåÀÌ µË´Ï´Ù.

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

a[8]

a[9]

a[10]

a[11]

a[12]

s

e

o

u

l

k

o

r

e

a

\0

 

 

address¸¦ ÀüºÎ *·Î ÃʱâÈ­Çϰí, fee01À» 3À¸·Î ÃʱâÈ­Çϰí, address[13] ~ [0]±îÁö¸¦ ²¨²Ù·Î Ãâ·ÂÇϰí, ch°ªÀ» Ãâ·ÂÇÏ¿© º¾½Ã´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_scanf02.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10], ch;

char name[10];

char address[20]={ '*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*'};

int fee01, fee02,i;

fee01=3;

 

int main(){

    uf_input();

    uf_print();

 

    printf("\n");

    for(i=13;i>=0;i--)

        printf("%c", address[i]);

 

    printf("\naddress[5]ÀÇ °ª:%d", address[5]);

    printf("\nchÀÇ °ª:%d", ch);

 

    return 0;

}

 

void uf_input(){

    char ch;

    int i;

    printf("ID:");

    scanf("%s", ID);

    printf("\nÀ̸§:");

    scanf("%s", name);

    printf("\nÁÖ¼Ò:");

    scanf("%s", address);

    printf("\n1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    ch=getchar();  // ch=getchar(); ch=getchar();

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\n12345678901234567890123456789012345678901234567890\n");

    //printf("\nID              À̸§         ÁÖ¼Ò\

    //    1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("\n%-10s", ID);

    printf("%-10s", name);

    printf("%-10s", address);

    printf("%6d%6d", fee01, fee02);

 

}

 

¡¼½ÇÇà °á°ú¡½

ID:principia

 

À̸§:Michael

 

ÁÖ¼Ò:Seoul Korea

 

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:

12345678901234567890123456789012345678901234567890

 

principia Michael   Seoul          3     4

******** luoeS

address[5]ÀÇ °ª:0

chÀÇ °ª:32

 

spaceÀÇ ¾Æ½ºÅ°ÄÚµå´Â 10Áø¼ö·Î 32À̰í NULLÀÇ ¾Æ½ºÅ°ÄÚµå´Â 10Áø¼ö·Î 0À̹ǷΠaddress[5]¿Í ch¿¡ ¾î¶² °ªÀÌ ÀÔ·ÂÀÌ µÇ´ÂÁö Ãâ·ÂÇÏ¸é ¾Ë ¼ö ÀÖ½À´Ï´Ù.

address[5] °ªÀÌ 0ÀÌ Ãâ·ÂÀÌ µÇ¾ú½À´Ï´Ù. ±×·¸´Ù¸é address[5]¿¡´Â NULL(\0)°ªÀÌ ÀԷµǾú´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ch°ªÀÌ 32°¡ Ãâ·ÂÀÌ µÇ¾úÀ¸¹Ç·Î ch¿¡´Â space°¡ ÀÔ·ÂÀÌ µÇ¾ú´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

µû¶ó¼­ Seoul Korea¸¦ ÀÔ·ÂÇÒ ¶§ SeoulÀº address[0]~[4]¿¡ ÀÔ·ÂÀÌ µÇ°í, address[5]¿¡´Â ¹®ÀÚ¿­ÀÇ ³¡À» ³ªÅ¸³»´Â NULL(\0)ÀÌ ÀÔ·ÂÀÌ µÇ°í, l°ú K»çÀÌÀÇ space´Â ch¿¡ ÀÔ·ÂÀÌ µË´Ï´Ù. ±×´ÙÀ½¿¡ ÀÔ·ÂÇÑ ¿£ÅÍŰ´Â ¾î¶»°Ô µÉ±î¿ä?

 

ch=getchar();  ch1=getchar();  ch2=getchar(); ó·³ getchar()À» 2°³¸¦ Ãß°¡Çϰí ch1, ch2¸¦ Ãâ·ÂÇÏ¿© º¾½Ã´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_scanf03.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10], ch, ch1, ch2;

char name[10];

char address[20]={ '*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*','*'};

int fee01=3, fee02=4 ,i;

 

int main(){

    uf_input();

    uf_print();

 

    printf("\n");

    for(i=13;i>=0;i--)

        printf("%c", address[i]);

 

    printf("\naddress[5]ÀÇ °ª:%d", address[5]);

    printf("\nchÀÇ °ª:%d", ch);

    printf("\nch1ÀÇ °ª:%d", ch1);

    printf("\nch2ÀÇ °ª:%d", ch2);

    return 0;

}

 

void uf_input(){

    printf("ID:");

    scanf("%s", ID);

    printf("\nÀ̸§:");

    scanf("%s", name);

    printf("\nÁÖ¼Ò:");

    scanf("%s", address);

    printf("\n1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    ch=getchar();  ch1=getchar();  ch2=getchar();

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\n12345678901234567890123456789012345678901234567890\n");

    //printf("\nID              À̸§         ÁÖ¼Ò\

    //    1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("\n%-10s", ID);

    printf("%-10s", name);

    printf("%-10s", address);

    printf("%6d%6d", fee01, fee02);

}

 

¡¼½ÇÇà °á°ú¡½

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:

12345678901234567890123456789012345678901234567890

 

principia Michael   Seoul          3     4

******** luoeS

address[5]ÀÇ °ª:0

chÀÇ °ª:32

ch1ÀÇ °ª:75

ch2ÀÇ °ª:111

 

ch1Àº 75, ch2´Â 111ÀÌ Ãâ·ÂÀÌ µÇ¾ú½À´Ï´Ù. 75´Â ¿µ¾î ´ë¹®ÀÚ KÀ̰í 111Àº ¿µ¾î¼Ò¹®ÀÚ oÀÔ´Ï´Ù. ±×·¯¸é Seoul Korea¸¦ ÀÔ·ÂÇϸé óÀ½ scanf()¹®Àº ³¡³ª ¹ö¸®°í K¿Í o´Â ´ÙÀ½ ¹®Àå

ch1=getchar();  ch2=getchar(); ¿¡ ÀԷµȴٴ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù.

 

°á±¹ scanf()¹®À¸·Î space°¡ ÀÖ´Â ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ·Á¸é óÀ½ºÎÅÍ ³ª´©¾î¼­ ÀÔ·ÂÇϰųª ¾Æ´Ï¸é scanf()¹®À» space°³¼ö ¸¸Å­ ½á¼­ ³ªÁß¿¡ ÇÕÃÄ¾ß ÇÑ´Ù´Â °á·ÐÀÔ´Ï´Ù.

 

´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¡¹ÖÇÏ¿©¾ß ÇÕ´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_scanf04.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10], ch, ch1, ch2;

char name[10];

char address[10], address1[10], address2[10];

int fee01, fee02 ,i;

 

int main(){

    uf_input();

    uf_print();

    return 0;

}

 

void uf_input(){

    printf("ID:");

    scanf("%s", ID);

    printf("À̸§:");

    scanf("%s", name);

    printf("ÁÖ¼Ò:");

    scanf("%s", address);

    printf("1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    ch=getchar();

    scanf("%s", address1);

    ch1=getchar();

    scanf("%s", address2);

    ch2=getchar();

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\nID         À̸§             ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("%-10s", ID);

    printf("%-10s", name);

    printf("%s", address);

    printf(" %s", address1);

    printf(" %s", address2);

    printf("%10d %10d", fee01, fee02);

}

 

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea Kangnam

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò          1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia Michael   Seoul Korea Kangnam     15000      56000

 

 

 

2)    fgets ÇÔ¼ö

scanfÇÔ¼ö·Î ¿©·¯ ¹®ÀÚ¿­À» ÀÔ·ÂÇÑ´ÙÀº °ÍÀº ¹«Ã´ ±î´Ù·Ó´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ¹®ÀÚ¿­À» ÀÔ·ÂÇÒ ¶§´Â ÆÄÀÏ󸮸¦ ÇÒ ¶§ »ç¿ëÇÏ´Â fgetsÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

 

fgets ÇÔ¼ö´Â µÚ¿¡¼­ ±â¼úµÇ¾î ÀÖ´Â ÆÄÀÏ󸮿¡¼­ ÀÚ¼¼È÷ ´Ù·ç°ÚÁö¸¸ ¿©±â¼­´Â °£´ÜÈ÷ gets ´ë¿ëÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ºÎºÐ¸¸ ±â¼úÇÕ´Ï´Ù.

¡¼Çü½Ä¡½

 fgets(¹è¿­¸í, ¹®ÀÚ ¹ÙÀÌÆ®¼ö, stdin);

 

stdinÀ̶õ Ç¥ÁØ ÀåÄ¡¸íÀ¸·Î¼­ Ç¥ÁØÀÔ·ÂÀåÄ¡ÀΠŰº¸µå¸¦ ¸»ÇÕ´Ï´Ù.

char s1[100];

fgets(s1, 20, stdin);

 

¿Í °°ÀÌ ±â¼úÇϸé Űº¸µå·ÎºÎÅÍ ¹®ÀÚ¸¦ 20¹ÙÀÌÆ®¸¦ Àо ¹®ÀÚ ¹è¿­¿¡ s1¿¡ ÀúÀåÇÏ´Â °ÍÀÔ´Ï´Ù. ¾ÆÁ÷ ¹è¿­¿¡ ´ëÇØ¼­´Â µÚ¿¡¼­ »ó¼¼È÷ ¼³¸íÇϹǷΠ¿©±â¿¡¼­´Â ±×³É ¡º º¯¼ö°¡ ¸ð¿©ÀÖ´Â °Í¡» À¸·Î¸¸ ¾Ë¸é µÇ°Ú½À´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

gets ÇÔ¼ö »ç¿ë

fgets ÇÔ¼ö »ç¿ë

// File Name : gets_01.c

#include <stdio.h>

int main(void){

char name[20];

printf("À̸§ ÀÔ·Â : ");

gets(name);

printf("ÀÔ·ÂÇÑ À̸§: %s\n", name);

return 0;

}

// File Name : fgets_01.c

#include <stdio.h>

int main(void){

char name[20];

printf("À̸§ ÀÔ·Â:");

fgets(name,20,stdin);

printf("ÀÔ·ÂÇÑ À̸§: %s",name);

    return 0;

}

 

 

¾ÕÀÇ scanfÇÔ¼ö·Î ó¸®ÇÑ °ÍÀ» fgetsÇÔ¼ö·Î ó¸®ÇϰڽÀ´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_fgets01.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10];

char name[10];

char address[40];

int fee01, fee02 ;

char ch;

int main(){

    uf_input();

    uf_print();

    return 0;

}

 

void uf_input(){

    printf("ID:");

    fgets(ID,20,stdin);

    // ch=getchar();

    printf("À̸§:");

    fgets(name,20,stdin);

    printf("ÁÖ¼Ò:");

    fgets(address,40,stdin);

    printf("1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\nID         À̸§             ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("%s", ID);

    printf("%s", name);

    printf("%s", address);

    printf("%10d %10d", fee01, fee02);

}

 

¡¼½ÇÇà °á°ú¡½

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea kangnam

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia

Michael

Seoul Korea kangnam

     15000      56000

 

ÀԷ°ú Ãâ·ÂÀÌ Á¦´ë·Î µÇÁö¸¸ Ãâ·Â Çü½Ä¿¡¼­ ¹®Á¦°¡ Àֳ׿ä...

name[0]~[6]±îÁö´Â MichaelÀÌ ÀÔ·ÂÀÌ µÇ¹Ç·Î name[7], name[8]À» Ãâ·ÂÇÏ¿© º¾½Ã´Ù.

 

// File Name : ex02_06_03_fgets02.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10];

char name[10];

char address[40];

int fee01, fee02 ;

char ch;

int main(){

    uf_input();

    uf_print();

    return 0;

}

 

void uf_input(){

    printf("ID:");

    fgets(ID,20,stdin);

    printf("À̸§:");

    fgets(name,20,stdin);

    printf("ÁÖ¼Ò:");

    fgets(address,40,stdin);

    printf("1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\nID         À̸§             ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("%s", ID);

    printf("%s", name);

    printf("%s", address);

    printf("%10d %10d", fee01, fee02);

    printf("\nname[7]=%d", name[7]);

    printf(" name[8]=%d", name[8]);

}

 

 

 

 

 

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea Kangnam

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia

Michael

Seoul Korea Kangnam

     15000      56000

name[7]=10 name[8]=0

 

10Àº LF(Line Feed)À̰í 0Àº NULLÀÔ´Ï´Ù. MichaelÀ» ÀÔ·ÂÇÒ ¶§ LF¿Í NULLÀÌ º¯¼ö¿¡ µé¾î °£´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ LF°ª¸¸ ¾ø¾ÖÁÖ¸é µË´Ï´Ù.

¾î¶»°Ô ¾ø¾Ù±î¿ä?

ü  for¹®À» ½ÇÇàÇÏ¿© ÇÑ ¹®ÀÚ¾¿ Àо LF°ªÀÌ ³ª¿À¸é ÁßÁö

ü  ¹®ÀÚ¿­ÀÇ ±æÀ̸¦ °è»êÇÏ¿© 1À» »©¾î ±× °ªÀÇ Ã·ÀÚ¿¡ \0À» ³Ö¾îÁÜ

 

1 ¹øÂ° ¹æ½Äº¸´Ù´Â 2 ¹øÂ° ¹æ½ÄÀÌ °£´ÜÇϹǷΠ2 ¹øÂ° ¹æ½ÄÀ» »ìÆìº¸°Ú½À´Ï´Ù.

 

¹®ÀÚ¿­ÀÇ ±æÀ̸¦ °è»êÇÏ´Â ÇÔ¼ö´Â chapter 4¿¡¼­ ´Ù·ç¹Ç·Î ¿©±â¼­´Â strlen(¹è¿­¸í); ¸¸ ¾Ë¸é µÇ°Ú½À´Ï´Ù. MichaelÀ» ÀÔ·ÂÇÏ¸é ¹®ÀÚ°¡ 7°³À̹ǷÎ

strlen(name); ¸¦ ½ÇÇàÇϸé 7ÀÌ ³ª¿Ã °Í °°Áö¸¸

fgets(name,20,stdin);

 

À¸·Î ÀÔ·ÂÇϸé name¿¡ Michael+LF+\0ÀÌ ÀÔ·ÂÀÌ µÇ¹Ç·Î

strlen(name); ÀÇ °ªÀº 8ÀÌ ³ª¿É´Ï´Ù. MichaelÀº name[0]~[6] ±îÁö ÀԷµǰí name[7]¿¡\0À» ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù.

8-1ÇÑ 7¹øÂ°ÀÇ ¹è¿­¿¡ ¹®ÀÚ \0À» ÀÔ·ÂÇÏ¿©¾ß ÇϹǷΠstrlen(¹è¿­)-1ÀÇ °ªÀÇ Ã·ÀÚ¿¡ \0À» ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù. ±×·¡¼­ ´ÙÀ½ ¿¹Á¦ÀÇ ½ÄÀÌ ³ª¿É´Ï´Ù. C¾ð¾î Âü ¾î·ÆÁÒ????

 

¡¼¿¹Á¦¡½

fgets(ID,20,stdin);

ID[strlen(ID) - 1] = '\0';

 

// File Name : ex02_06_03_fgets03.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10];

char name[10];

char address[40];

int fee01, fee02 ;

char ch;

int main(){

    uf_input();

    uf_print();

    return 0;

}

 

void uf_input(){

    printf("ID:");

    fgets(ID,20,stdin);

    ID[strlen(ID) - 1] = '\0';

    printf("À̸§:");

    fgets(name,20,stdin);

    name[strlen(name) - 1] = '\0';

    printf("ÁÖ¼Ò:");

    fgets(address,40,stdin);

    address[strlen(address) - 1] = '\0';

    printf("1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\nID         À̸§             ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("%10s", ID);

    printf("%8s", name);

    printf("%20s", address);

    printf("%10d %10d", fee01, fee02); 

}

 

 

 

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea Kangnam

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia  Michael Seoul Korea Kangnam     15000      56000

 

 

 

 

3)    Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÑ scanf()ÇÔ¼ö

½Ç»ó scanfÇÔ¼ö¸¦ »ç¿ëÇϸé space¿Í ÇÔ²² ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ´Â °ÍÀº °£´ÜÇÕ´Ï´Ù. ±×·±µ¥ ¿©±â¿¡¼­ ¿ì¸®´Â ¡ºÁ¤±ÔÇ¥Çö½Ä¡» À̶ó´Â °Å´ëÇÑ »êÀ» ³Ñ¾î°¡¾ß ÇÕ´Ï´Ù. ÀÌ »êÀº ³Ê¹« Å« »êÀÌ¶ó¼­ ¿©±â¿¡¼­ »ç¿ëÇÒ °Í Çϳª¸¸ Á¦½ÃÇϰڽÀ´Ï´Ù.

Á¤±Ô Ç¥Çö½Ä¿¡¼­ ^ Ç¥½Ã´Â ³í¸®ÀûÀ¸·Î NOTÀÔ´Ï´Ù. ´Ù½Ã ¸»Çϸé ^A´Â "¹®ÀÚ A°¡ ¾Æ´Ñ" ÀǹÌÀÔ´Ï´Ù. ¿ì¸®°¡ Á¤±Ô Ç¥Çö½ÄÀ» »ç¿ëÇÏ¿© space°¡ ÀÖ´Â ¹®ÀÚ¿­À» ÀÔ·ÂÇÏ·Á¸é....

scanfÇÔ¼ö´Â space³ª ¿£ÅÍ۸¦ ¸¸³ª¸é ÀÔ·ÂÀ» Á¾·áÇÑ´Ù°í ÇÏ¿´½À´Ï´Ù. ÀÔ·ÂÀ» Á¾·áÇÑ´Ù´Â °ÍÀº Űº¸µå·Î ÀÔ·ÂÇÒ ¶§ ÀÔ·ÂÀÌ ³¡³­´Ù´Â °ÍÀÌ ¾Æ´Ï¶ó, ÀÔ·Â ¹öÆÛÀÇ °ªÀÌ µé¾î¿Ã ¶§ space³ª ¿£ÅͰ¡ µé¾î¿À¸é ±× ÀÌÀü±îÁöÀÇ ¹®ÀÚ¿­¸¸ ÀúÀåÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù.

µû¶ó¼­ scanfÇÔ¼ö°¡ ÀԷ¹öÆÛÀÇ °ªÀ» \nÀÌ ³ª¿Ã ¶§±îÁö ÀԷ¹öÆÛÀÇ °ªÀ» º¯¼ö¿¡ ÀúÀåÇÏ°í ³ª¸ÓÁö ¿£ÅÍŰ´Â ´ÙÀ½ ÀÔ·ÂÇÔ¼ö¿¡ ÀúÀåÇÏ¸é µË´Ï´Ù. ±×·¯¹Ç·Î Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ¿© "\nÀÌ ¾Æ´Ò ¶§ ÀÔ·ÂÀ» ¹Þ¾Æµé¿©¶ó"¶ó°í ÁöÁ¤ÇÏ¸é µË´Ï´Ù. C¾ð¾î¿¡¼­ ÀÔ·ÂÀÇ Ç¥ÇöÀº %ÀÌ°í ¹®ÀÚ¿­À» ¹Þ¾Æµé¿©¾ß ÇϹǷΠs¸¦ »ç¿ëÇÏ¿©¾ß Çϰí ^ \nÀ» °°ÀÌ ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù.

ÀÔ·Â Çü½ÄÀº %[^\n]s ÀÔ´Ï´Ù.

scanf("%[^\n]s", ¹è¿­¸í);

 

ÀÔ´Ï´Ù.

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex02_06_03_scanfExpression01.c

#include<stdio.h>

void uf_input();

void uf_print();

 

char ID[10],ch;

char name[10];

char address[40];

int fee01, fee02 ;

char ch;

int main(){

    uf_input();

    uf_print();

    return 0;

}

 

void uf_input(){

    printf("ID:");

    scanf_s("%[^\n]s", ID);

    ch=getchar();

    printf("À̸§:");

    scanf("%[^\n]s", name);

    ch=getchar();

    printf("ÁÖ¼Ò:");

    scanf("%[^\n]s", address);

    ch=getchar();

    printf("1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:");

    scanf("%d %d", &fee01, &fee02);

}

 

void uf_print(){

    printf("\nID         À̸§             ÁÖ¼Ò\

        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý\n");

    printf("%-10s", ID);

    printf("%-8s", name);

    printf("%-20s", address);

    printf("%10d %10d", fee01, fee02);

}

 

¡¼½ÇÇà °á°ú¡½

ID:principia

À̸§:Michael

ÁÖ¼Ò:Seoul Korea Kangnam

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia Michael Seoul Korea Kangnam      15000      56000

 

Çѱ۷ΠÀÔ·ÂÇÏ¿© º¾½Ã´Ù.

¡¼½ÇÇà °á°ú¡½

ID:principia

À̸§:È«±æµ¿

ÁÖ¼Ò:Á¶¼±±¹ ÇѾç½Ã Á¾·Î

1¿ù ¿ä±Ý  2¿ù ¿ä±Ý:15000 56000

 

ID         À̸§             ÁÖ¼Ò        1¿ù ¿ä±Ý    2¿ù ¿ä±Ý

principia È«±æµ¿  Á¶¼±±¹ ÇѾç½Ã Á¾·Î       15000      56000