¹®ÀÚ(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;
}
¹®ÀÚ¿À» ÀϹÝÀûÀÎ ¹æ¹ýÀº ¹®ÀÚÇü
¹è¿À»
ü ¹®ÀÚ¿À»
±â¾ïÇÒ
¼ö
ÀÖ´Â
±â¾ïÀå¼Ò·Î
¼±¾ðÇϰí
ü ¹®ÀÚ¿
ÀÔ·ÂÇÔ¼ö¸¦
»ç¿ëÇÏ¿©
ÀÔ·ÂÇÏ´Â
°ÍÀÔ´Ï´Ù.
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
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
½Ç»ó 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