๋ฌธ์ œ : ๋ฌธ์ž์—ด ๋งˆ์ง€๋ง‰ ์›์†Œ๋กœ NULL์„ ๋„ฃ์–ด ์ฃผ์ง€ ์•Š์•˜์Œ

๋ฐ˜์‘ํ˜•

 

์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ ๋‹ค๋ฅธ๊ณณ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์„œ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ.

์ปดํŒŒ์ผ ๋ฐ ๋นŒ๋“œ๋Š” ๋‹ค ์ •์ƒ์ ์œผ๋กœ ๋จ.

๋ฐ˜์‘ํ˜•

1. stack smashing : buffer overflow

๋ฐ˜์‘ํ˜•
#include <stdio.h>
int isdigit(char c);
int main() {
    char input;

    scanf("%c", &input);

    if (isdigit(input)) {
        printf("%c๋Š” ์ˆซ์ž์ž…๋‹ˆ๋‹ค. \n", input);
    }
    else {
        printf("%c๋Š” ์ˆซ์ž๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค \n", input);
    }
    return 0;
}
int isdigit(char c) {
    if (48<= c && c <= 57) {
        return 1;
    } else
    return 0;
}
 
 

root@DESKTOP-RMVJKG9:~/modoocode/13.Function# gcc 13.2_6_Use_function.c
13.2_6_Use_function.c:2:5: warning: conflicting types for built-in function ‘isdigit’; expected ‘int(int)’ [-Wbuiltin-declaration-mismatch]
    2 | int isdigit(char c);
      |     ^~~~~~~
13.2_6_Use_function.c:2:1: note: ‘isdigit’ is declared in header ‘<ctype.h>’
    1 | #include <stdio.h>
  +++ |+#include <ctype.h>
    2 | int isdigit(char c);

 

๊ฐ€๋Šฅ์„ฑ 1. std ํ•จ์ˆ˜์™€ ์ด๋ฆ„์ด ์ค‘๋ณต?

http://egloos.zum.com/rucaus/v/2352477

 

warning : conflicting types for built-in function 'ํ•จ์ˆ˜์ด๋ฆ„'

์ด๋ฏธ ๊ทธ ํ•จ์ˆ˜์ด๋ฆ„์œผ๋กœ standard function์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ๊ณ . stdํ•จ์ˆ˜์™€ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ•จ์ˆ˜์ด๋ฆ„์ด ๊ฒน์น˜๋ฉด ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ข‹์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋‚ด ํ•จ์ˆ˜ ์ด๋ฆ„์„ ๋‹ค๋ฅธ๊ฑธ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค.

egloos.zum.com

 

๊ฐ€๋Šฅ์„ฑ 2. ํ•จ์ˆ˜ ์„ ์–ธ์˜ ๋ฌธ์ œ..(ํ•จ์ˆ˜์˜ ์›ํ˜•์„ ์“ฐ์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์„ ์–ธ์ด ์—ฌ๋Ÿฌ๊ตฐ๋ฐ ์ผ๋•Œ..?)

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=plute&logNo=20193419934 

 

๋ฆฌ๋ˆ…์Šค - gcc error - conflicting types for

conflicting types for ์€ ์ž๋ฃŒํ˜•์„ ์ค‘๋ณต์œผ๋กœ ๋”ด๊ณณ์— ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ์ •์˜ ํ–ˆ์„๋•Œ ์ผ์–ด๋‚ ์ˆ˜๋„ ์žˆ๊ณ , ... ๊ทผ๋ฐ ...

blog.naver.com

์ถ”์ธก.. ํƒ€์ž…์˜ ๋ฌธ์ œ์ธ๊ฒƒ ๊ฐ™์€๋ฐ..

๋ฐ˜์‘ํ˜•
#include <stdio.h>

int magicbox(i) {
    i += 4;
    return i;
}

int main() {
    int i;
    printf("a number to put in : \n");
    scanf("%d", &i);
    magicbox(i);
    return 0;
}

์˜ค๋ฅ˜ ๋ฌธ๊ตฌ type of 'i' defaults to 'int'

๋ฌธ์ œ : ํ•จ์ˆ˜ ์ •์˜ ์‹œ ์ธ์ž์˜ ํ˜•ํƒœ๋ฅผ ์„ ์–ธํ•ด ์ฃผ์ง€ ์•Š์Œ.

ํ•ด๊ฒฐ : ํ•จ์ˆ˜ ์„ ์–ธ ์‹œ ๊ด„ํ˜ธ ์•ˆ์— ์ธ์ž์˜ ํ˜• ์„ ์–ธํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐ.

 

magicbox( i ) => magicbox( int i )

๋ฐ˜์‘ํ˜•

 

์›์ธ

- ํŒŒ์ผ์ด ์—†๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ๋“ค์–ด์™€ ์žˆ์—ˆ์Œ

- ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„(ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ ์ด๋ฆ„)

- ์•„๋‹ˆ๋ฉด ↓ ์ฐธ๊ณ 

https://digndig.kr/bash/2014/11/20/ubuntu-bash-no-such-file-or-directory.html

 

DIGNDIG

๐Ÿ“š [Bash]ํŒŒ์ผ์ด ์žˆ๋Š”๋ฐ ๋ชป์ฐพ๋Š”๋‹ค๊ณ  ๋‚˜์˜ฌ๋•Œ -bash : [command] : No such file or directory Category: Bash | ๐Ÿ“… November 20, 2014 ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์‹คํ–‰ ํŒŒ์ผ์ด ์žˆ์Œ์—๋„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์‹คํ–‰๋˜์ง€ ์•Š์„๋•Œ -bash: [์‹คํ–‰ํ•  ํŒŒ

digndig.kr

 

ํ•ด๊ฒฐ

cd ..  ๋กœ ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™ ํ›„

ls ๋กœ ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ ํŒŒ์•…

 

 

 

cd ๋ช…๋ น์–ด๋กœ ์†Œ์Šค ํŒŒ์ผ์ด ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™

gcc ์‹คํ–‰ ์„ฑ๊ณต

๋ฐ˜์‘ํ˜•
#include <stdio.h>
int main() {
	int a;
	int b;
	const int* pa = &a;

	*pa = 3;
	pa = &b;

	return 0;
}

const ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•œ ํ›„์— ๋‹ค๋ฅธ ๊ฐ’์„ ๋„ฃ์œผ๋ ค ํ• ๋•Œ ๋ฐœ์ƒ

๋ฐ˜์‘ํ˜•

์„ ์ปดํ”Œ๋ผ์ด ํ–ˆ์„ ๋•Œ, ์˜ค๋ฅ˜

printf๋ฅผ fprintf๋กœ ์ž‘์„ฑํ•˜๋ฉด ์˜ค๋ฅ˜ ์—†์–ด์ง.

 

์ฐธ๊ณ :

 https://haruhiism.tistory.com/8

 

 

printf, fprintf, sprintf๋Š” ์–ด๋–ค ์ฐจ์ด์ผ๊นŒ?

C/C++ ์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. C์–ธ์–ด์˜ printf๋ถ€ํ„ฐ C++์˜ cin๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜, ๊ฐ์ฒด์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘ ์„œ์‹ํ™”๋œ ์ถœ๋ ฅ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์†Œ๊ฐœํ•ด ๋ณด๋ ค

haruhiism.tistory.com

 

C/C++ ์—์„œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ถœ๋ ฅ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. C์–ธ์–ด์˜ printf๋ถ€ํ„ฐ C++์˜ cin๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜, ๊ฐ์ฒด์™€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ ์ค‘ ์„œ์‹ํ™”๋œ ์ถœ๋ ฅ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์†Œ๊ฐœํ•ด ๋ณด๋ ค ํ•œ๋‹ค.

 

1. printf()

int printf(const char *format-string, argument-list);

์ผ๋ฐ˜์ ์œผ๋กœ printf()๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์Œ๋”ฐ์˜ดํ‘œ(")๋กœ ์‹ธ์ธ ๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด์—์„œ %๋กœ ์ง€์ •๋œ ์„œ์‹ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ™์ด ์ „๋‹ฌํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. ๋˜ํ•œ ์ค„๋ฐ”๊ฟˆ, ์ปค์„œ ์ด๋™ ๋“ฑ์„ ์œ„ํ•ด ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

 

์ด๋Š” ๊ฐ„๋‹จํ•œ ์„œ์‹์„ ๊ณ ๋ คํ•œ ์ถœ๋ ฅ์— ์‚ฌ์šฉ๋˜๋ฉฐ ๊ฐ€์žฅ ๋งŽ์ด ์ ‘ํ•˜๊ณ  ํ•™์Šต ์ดˆ๊ธฐ์— ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•  ํ•ต์‹ฌ์ ์ธ ํ•จ์ˆ˜๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

#include <stdio.h>

int main()
{
    printf("Hello World!")
}

 

C์–ธ์–ด ๊ด€๋ จ ๋„์„œ๋ฅผ ํ•œ๋ฒˆ๋งŒ์ด๋ผ๋„ ํŽผ์ณ๋ณด์•˜๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ Hello World์˜ˆ์ œ๊ฐ€ ๊ธฐ์–ต๋‚  ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ๋งŒ ๋ณด๋ฉด ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํ•จ์ˆ˜๋กœ ๋ณด์ด์ง€๋งŒ, ์•„๋ž˜์˜ ์ถœ์ฒ˜ ๋งํฌ๋งŒ ๋“ค์–ด๊ฐ€ ๋ณด์•„๋„ ์—„์ฒญ๋‚œ ์–‘์˜ ๋งค๋‰ด์–ผ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰ ๊ต‰์žฅํžˆ ๋ณต์žกํ•œ ํ•จ์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•˜๊ณ  ๋“ค์–ด๊ฐ€์ž๋ฉด ์ด printf()๊ฐ€ ํ•˜๋Š” ๊ฒƒ์€ ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ‘œ์ค€ ์ถœ๋ ฅ(Standard Output, stdout)์— ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ stdout, stdin, stderr๋“ฑ์€ ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š”๋ฐ ์ด๋Š” ์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์˜ ์œ ์‚ฐ์œผ๋กœ ์ปดํ“จํ„ฐ์™€ ์‚ฌ์šฉ์ž ์‚ฌ์ด์—์„œ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋Š” ์ž…์ถœ๋ ฅ์„ ์ถ”์ƒ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์„ ์œ„ํ•ด ๋”ฐ๋กœ ์ž‘์—…์„ ํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ <stdio.h> ํ—ค๋” ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๊ณณ์„ ์ฐธ๊ณ ํ•˜์ž. 

 

์•„๋ฌดํŠผ ์ด๋Ÿฐ ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋ฌธ์ž์—ด์„ ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์€ ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์ผ๋ จ์˜ ๊ณผ์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ฝ˜์†” ํ”„๋กœ๊ทธ๋žจ์ด๋ฏ€๋กœ ์œˆ๋„์šฐ์˜ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ, ๋ฆฌ๋ˆ…์Šค์˜ ํ„ฐ๋ฏธ๋„ ๋“ฑ์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

ํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๊ฒƒ์€ printf() ์˜ ์„œ์‹ ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€, ๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ์‘์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜์˜ ์›ํ˜•์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด printf()๋Š” const char* ํ˜• ๋ฌธ์ž์—ด(format-string)๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก(argument-list)๋ฅผ ๋ฐ›๋Š”๋ฐ ์ „์ž์˜ ๊ฒฝ์šฐ const char* ํ˜• ๋ฌธ์ž์—ด์€ ์ฝ”๋”ฉ ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ํฐ๋”ฐ์˜ดํ‘œ(")๋กœ ๋ฌถ์ธ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ printf()์•ˆ์— "Hello World" ๋“ฑ์„ ์จ ๋„ฃ๋Š” ๊ฒƒ๋„ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์„ ์–ธ, ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•œ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋’ค์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์—๋Š” ๋‹น์—ฐํžˆ ์ด ๋ฌธ์ž์—ด ์ƒ์ˆ˜์—์„œ ์ง€์ •๋œ ํ˜•์‹์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์ด ์ˆœ์„œ์— ๋งž๊ฒŒ ๋“ค์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด 'ํ˜•์‹'์ด๋ž€ ๊ฒƒ์€ ๋ฌด์—‡์ผ๊นŒ?

 

๋Œ€๋ถ€๋ถ„์˜ C์–ธ์–ด ๊ต์žฌ์—๋Š” ์ด printf()์— ์‚ฌ์šฉ๋˜๋Š” ํ˜•์‹ ์ง€์ •์ž๋“ค์˜ ๋ชฉ๋ก์ด ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

 

specifierOutputExample

or i Signed decimal integer 392
u Unsigned decimal integer 7235
o Unsigned octal 610
x Unsigned hexadecimal integer 7fa
X Unsigned hexadecimal integer (uppercase) 7FA
f Decimal floating point, lowercase 392.65
F Decimal floating point, uppercase 392.65
e Scientific notation (mantissa/exponent), lowercase 3.9265e+2
E Scientific notation (mantissa/exponent), uppercase 3.9265E+2
g Use the shortest representation: %e or %f 392.65
G Use the shortest representation: %E or %F 392.65
a Hexadecimal floating point, lowercase -0xc.90fep-2
A Hexadecimal floating point, uppercase -0XC.90FEP-2
c Character a
s String of characters sample
p Pointer address b8000000
n Nothing printed.
The corresponding argument must be a pointer to a signed int.
The number of characters written so far is stored in the pointed location.
 
% A % followed by another % character will write a single % to the stream. %

 

ํผ์„ผํŠธ ๊ธฐํ˜ธ(%)์™€ ๊ทธ ๋’ค์— ๋ถ™๋Š” ๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋˜๋Š” ํ˜•์‹ ์ง€์ •์ž๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ์ง€๋งŒ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฒƒ๋“ค์„ ๋ช‡ ๊ฐœ ์ถ”๋ ค๋ณด์ž๋ฉด

  • %d : ์ •์ˆ˜(int) ์ถœ๋ ฅ
  • %f : ์†Œ์ˆ˜(float) ์ถœ๋ ฅ
  • %lf : ์†Œ์ˆ˜(double) ์ถœ๋ ฅ
  • %c : ๋ฌธ์ž(char) ์ถœ๋ ฅ
  • %s : ๋ฌธ์ž์—ด(char[], char*) ์ถœ๋ ฅ
  • %p : ํฌ์ธํ„ฐ ์ฃผ์†Œ(1a2b3c4d๊ฐ™์€ 16์ง„์ˆ˜) ์ถœ๋ ฅ

๋“ฑ์œผ๋กœ ๊ฐ„์ถ”๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด๋“ค์€ ํ˜•์‹ ์ง€์ •์ž์™€ ์ด์— ์ƒ์‘ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ž๋ฃŒํ˜•์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๋Œ€๋ถ€๋ถ„ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ์•Š๋Š”๋ฐ ์˜๋„์ ์ด๋“  ๋น„์˜๋„์ ์ด๋“  ๊ฐ„์— ์ž๋ฃŒํ˜•์€ ์ผ์น˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ๋˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†Œ์‹ค๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋ฌธ์ž 'a'๋ฅผ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ์‹œํ‚จ๋‹ค๋ฉด ASCII ๊ฐ’์ด ๋‚˜์˜ค๊ฑฐ๋‚˜ ์†Œ์ˆ˜(36.5)๋ฅผ ์ •์ˆ˜๋กœ ์ถœ๋ ฅ์‹œํ‚จ๋‹ค๋ฉด 36์œผ๋กœ ์†Œ์ˆ˜๋ถ€๊ฐ€ ์ž˜๋ฆฌ๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.1

 

๋˜ํ•œ ์ด๋Ÿฐ ํ˜•์‹ ์ง€์ •์ž๋“ค์€ ๋‹จ์ˆœํžˆ ํผ์„ผํŠธ ๊ธฐํ˜ธ์™€ ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

์ด๋Š” ๋ช‡๊ฐ€์ง€ ์„œ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ ๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

flags  width  precision  prefix   type

 

  • flags : ๋ถ€ํ˜ธ, ๊ณต๋ฐฑ, ์†Œ์ˆ˜์ , 8์ง„ ๋ฐ 16์ง„ ์ ‘๋‘๋ถ€(0, 0x)์˜ ์ถœ๋ ฅ๊ณผ ์ •๋ ฌ ์„œ์‹ ๋“ฑ์„ ๊ฒฐ์ •ํ•œ๋‹ค. '-'๋Š” ์™ผ์ชฝ ์ •๋ ฌ, '+'๋Š” ๋ถ€ํ˜ธ ์ถœ๋ ฅ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ '0'์˜ ๊ฒฝ์šฐ ๋นˆ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋นˆ์นธ์ด ์•„๋‹Œ 0์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋“ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๊ณณ ์ฐธ๊ณ 
  • width : ์ถœ๋ ฅ๋  ๋ฌธ์ž์˜ ์ตœ์†Œ ๊ฐฏ์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์ด๊ณณ ์ฐธ๊ณ 
  • precision : ๋ฌธ์ž์—ด, ์œ ํšจ ์ž๋ฆฟ์ˆ˜ ๋˜๋Š” ๋ถ€๋™ ์†Œ์ˆ˜์  ๊ฐ’์˜ ์†Œ์ˆ˜์  ๋’ท์ž๋ฆฌ์ˆ˜๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ตœ๋Œ€ ์ž๋ฆฟ์ˆ˜ ๋˜๋Š” ์ •์ˆ˜ ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ์ตœ์†Œ ์ž๋ฆฟ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ์„ ํƒ์  10์ง„์ˆ˜ ์ˆซ์ž๋‹ค. 
  • prefix : ์ธ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๋ถ€๋™์†Œ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” float์ด '%f'์ธ๊ฒƒ์— ๋น„ํ•ด double์€ '%lf'์ธ ๊ฒƒ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • type : ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์ž๋ฃŒํ˜•์— ๋”ฐ๋ฅธ ๋ฌธ์ž๊ฐ€ ์œ„์น˜ํ•œ๋‹ค. ์ •์ˆ˜๋ฉด 'd', ๋ฌธ์ž๋ฉด 'c' ๊ฐ™์€ ์‹์ด๋‹ค.
๊ฐ ๋ถ€๋ถ„์˜ ์ด๋ฆ„๊ณผ ๊ธฐ๋Šฅ์€ ์œ„์™€ ๊ฐ™์œผ๋ฉฐ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์˜ ์ถœ์ฒ˜๋‚˜ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ์ฐธ๊ณ ํ•˜์ž.
์ด ์ค‘์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ถ”๋ ค๋ณด์ž๋ฉด flags์˜ '-', '0' ์ด ์„œ์‹ ์ถœ๋ ฅ์— ์œ ์šฉํ•  ๊ฒƒ์ด๋‹ค.
 
#include 

int main()
{
    int num1 = 100;
    int num2 = 200;

    printf("%05d \n", num1);
    printf("%5d \n", num2);
    printf("%-05d \n", num2);

    return 0;
}
 
์œ„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.
 

 

๋จผ์ € num1์˜ ๊ฒฝ์šฐ "%05d" ํ˜•์‹ ์ถœ๋ ฅ์„ ํ†ตํ•ด 5๊ธ€์ž ๊ณต๊ฐ„์—์„œ ๋นˆ ๊ณต๊ฐ„์€ 0์œผ๋กœ ์ฑ„์šฐ๋„๋ก ์ถœ๋ ฅ์‹œ์ผฐ๋‹ค.(flags: 0, width: 5)
๊ทธ ๋‹ค์Œ num2๋Š” "5d"๋ฅผ ํ†ตํ•ด ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ์„, ๊ทธ ๋‹ค์Œ์—๋Š” "-5d"๋ฅผ ํ†ตํ•ด ์ผ๋ฐ˜ ์ถœ๋ ฅ๊ณผ ์™ผ์ชฝ ์ •๋ ฌ ์ถœ๋ ฅ์„ ๊ตฌ๋ถ„ํ•˜์˜€๋‹ค.
 
์ด๋Š” ์ดˆ๋ณด์ ์ธ ๋‹จ๊ณ„์—์„œ ์ž์ฃผ ์“ฐ์ผ ์˜ˆ์‹œ๋ฅผ ๋“ค์€ ๊ฒƒ ๋ฟ์ด๊ณ  ์—ฌ๋Ÿฌ ํ”Œ๋ž˜๊ทธ์˜ ์กฐํ•ฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.
์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋Š” ๋ ˆํผ๋Ÿฐ์Šค์™€ MSDN์„ ์ฐธ๊ณ ํ•˜๋„๋ก ํ•˜์ž. ํŠนํžˆ ์•„๋ž˜ ์ถœ์ฒ˜์˜ ์ฒซ๋ฒˆ์งธ ๋งํฌ์ธ IBM Knowledge Center์—๋Š” ์˜ˆ์ œ๊ฐ€ ์ œ๊ณต๋˜๋ฏ€๋กœ ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋“ค์–ด๊ฐ€ ๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.
 

 

์ถœ์ฒ˜:

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/printf.htm

https://ko.wikipedia.org/wiki/%ED%91%9C%EC%A4%80_%EC%8A%A4%ED%8A%B8%EB%A6%BC

http://www.cplusplus.com/reference/cstdio/printf/#compatibility

2. fprintf()

int fprintf(FILE *stream, const char *format-string, argument-list);

 

fprintf()๋Š” printf()์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์•ž์— f๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋ถ™์–ด ์žˆ๋Š”๋ฐ ์ด๋Š” file์„ ๋œปํ•œ๋‹ค๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.

์ฆ‰ ํŒŒ์ผ ์ŠคํŠธ๋ฆผ์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด๋ฉด FILE *stream ์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Š” ํ˜•์‹ ๋ฌธ์ž์—ด์ด ์ถœ๋ ฅ๋  ํŒŒ์ผ ํฌ์ธํ„ฐ๋ฅผ ์˜๋ฏธํ•˜์ง€๋งŒ ์ถ”๊ฐ€๋กœ ์œ„์—์„œ stdout๊ณผ ๊ด€๋ จํ•ด์„œ ์–ธ๊ธ‰ํ•œ ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์„ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ฆ‰ fprintf(stdout, "Hello World!")๋Š” printf("Hello World")์™€ ๋™์ผํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.2

 

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํŒŒ์ผ์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด ์ถœ๋ ฅ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๋ฌธ์ž์—ด ํ˜•์‹์™€ ๊ทธ์— ๋งž๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ๊ธฐ์กด์˜ printf()์˜ ์‚ฌ์šฉ ๋ฐฉ์‹๊ณผ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์— ํฐ ์–ด๋ ค์›€์€ ์—†๋‹ค. ์ด๋Š” ๋น„์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์˜€์„ ๊ฒฝ์šฐ ์ •์ƒ์ ์ผ ๋•Œ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ถœ๋ ฅ๋œ ๋ฐ”์ดํŠธ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์•„๋‹Œ ์Œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๊ฒ€์‚ฌํ•˜์—ฌ ํŒŒ์ผ์— ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ์ถœ๋ ฅ์œผ๋กœ stdout์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒŒ ์•„๋‹Œ ์ด์ƒ, ํŒŒ์ผ ํฌ์ธํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ์—ด๋ ธ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•  ๊ฒƒ์ด๋‹ค.

ํ•จ์ˆ˜ ์›ํ˜•์— ๋งž๊ฒŒ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์˜€์„ ๊ฒฝ์šฐ์—๋„ ํŒŒ์ผ์— ์ œ๋Œ€๋กœ ์ถœ๋ ฅ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํŒŒ์ผ ํฌ์ธํ„ฐ๊ฐ€ ์ ์ ˆํ•œ ๋ชจ๋“œ๋กœ ์—ด๋ฆฌ๊ณ  ๋‹ซํ˜”๋Š”์ง€, ๋ฌธ์ž์—ด ์„œ์‹์˜ ํ”Œ๋ž˜๊ทธ๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋จผ์ € ํ™•์ธํ•˜๋„๋ก ํ•˜์ž.

 

#include 

int main()
{
    int num1;
    char name[20];
    FILE *fp;
    
    fp = fopen("test.txt", "w");
    
    printf("TYPE NAME : ");
    scanf("%s", name);
    
    printf("TYPE AGE : ");
    scanf("%d", &num1);
    
    fprintf(fp, "Hello World. My name is %s and I\'m %d years old.", name, num1);
    
    fclose(fp);
    return 0;
}

 

์œ„์˜ ์˜ˆ์ œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

 

 

์ด๋กœ ์ธํ•ด ์ถœ๋ ฅ๋˜๋Š” ํŒŒ์ผ์˜ ๋‚ด์šฉ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

 

 

    fprintf(fp, "Hello World. My name is %s and I\'m %d years old.", name, num1);

์ด ๊ตฌ๋ฌธ์—์„œ ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜์˜€๋‹ค๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•˜์ž.

 

 

์ถœ์ฒ˜:

https://modoocode.com/64

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/fprintf.htm

https://kr.mathworks.com/help/matlab/ref/fprintf.html

 

 

 

3. sprintf()

 

int sprintf(char *buffer, const char *format-string, argument-list);

 

์ด ์—ญ์‹œ printf()์™€ ๋™์ผํ•œ ๋ฌธ์ž์—ด ์„œ์‹ ๋ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜ํ™˜๊ฐ’๋„ ์ถœ๋ ฅํ•œ ๋ฐ”์ดํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋“ฑ ๋น„์Šทํ•˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ FILE* ํ˜• ๋ณ€์ˆ˜์˜€๋˜ fprintf()์™€๋Š” ๋‹ฌ๋ฆฌ char* ํ˜• ๋ณ€์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์„ ๋ณด๋ฉด ๊ฐ์ด ์˜ค๊ฒ ์ง€๋งŒ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒ„ํผ์— ์ผ๋ จ์˜ ์„œ์‹ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋Š” ํ•จ์ˆ˜๋‹ค. ์ฆ‰ ํŒŒ์ผ์ด๋‚˜ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜(๋ฒ„ํผ)์— ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ค‘์š”ํ•œ ๊ฒƒ์€ ์—ฌ๊ธฐ์„œ ๋ฒ„ํผ๋Š” ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ต์ˆ™ํ•œ ์‚ฌ๋žŒ๋“ค์€ ์ž˜ ์•Œ๊ฒ ์ง€๋งŒ String์ด๋ผ๋Š” ๋ฌธ์ž์—ด ์ž๋ฃŒํ˜•์ด ๋”ฐ๋กœ ์žˆ๋Š” C++๊ณผ๋Š” ๋‹ฌ๋ฆฌ C์–ธ์–ด์—์„œ๋Š” char ์ž๋ฃŒํ˜•์„ ํ†ตํ•˜์—ฌ ๋ชจ๋“  ๋ฌธ์ž์—ด์˜ ์ฒ˜๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„๋‹ค. char* ํ˜•์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ฑฐ๋‚˜ char[] ํ˜•์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋ฉฐ ๋Œ€๋ถ€๋ถ„ <string.h> ํ—ค๋”๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋•Œ ๋ฌธ์ž์—ด ์ƒ์ˆ˜๋Š” ํ•œ๋ฒˆ ์„ ์–ธ๋˜๋ฉด ์ƒˆ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ ๋ง๊ณ ๋Š” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐฐ์—ด๋กœ ์„ ์–ธ๋œ char ์ž๋ฃŒํ˜• ์Šคํƒ€์ผ์˜ ๋ฌธ์ž์—ด์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด ๋ฌธ์ž์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

<string.h>์—์„œ๋„ strcpy๋“ฑ์„ ํ†ตํ•ด ๋ฐฐ์—ด์— ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์„œ์‹ํ™”๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์—ˆ๋Š”๋ฐ ์ด sprintf()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด printf()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๋“ฏ์ด ๋ฐฐ์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

#include 

int main()
{
    int num1;
    char name[20];
    char string[200];
    
    printf("TYPE NAME : ");
    scanf("%s", name);
    
    printf("TYPE AGE : ");
    scanf("%d", &num1);
    
    sprintf(string, "Hello World. My name is %s and I\'m %d years old.", name, num1);
    printf("%s", string);

    return 0;
}

 

์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.

 

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด string ๋ฌธ์ž์—ด ๋ฐฐ์—ด์— ์„œ์‹ํ™”๋œ ๋ฌธ์ž์—ด์„ ํ• ๋‹นํ•˜์˜€๊ธฐ์— ์œ„์ฒ˜๋Ÿผ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜์ž.

    sprintf(string, "Hello World. My name is %s and I\'m %d years old.", name, num1);

 

์ถœ์ฒ˜:

https://www.ibm.com/support/knowledgecenter/ko/ssw_ibm_i_73/rtref/sprintf.htm

 

  1. ์ž๋ฐ”(Java)์—์„œ๋Š” ์ด๋ฅผ ์•„์˜ˆ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ๊ฐ•๊ฑด์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉํ–ฅ์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค. [๋ณธ๋ฌธ์œผ๋กœ]
  2. stdout ๋ฟ ์•„๋‹ˆ๋ผ stderr์— ์ถœ๋ ฅํ•˜์—ฌ ๋””๋ฒ„๊น…์„ ์œ„ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋ฒ•๋„ ์žˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด์˜ stdout์€ ์ž…๋ ฅ ๋ฒ„ํผ๋ฅผ ํ†ตํ•˜์—ฌ ์ถœ๋ ฅ๋˜๊ธฐ์— ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ์‹œ ์ถœ๋ ฅ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ stderr์€ ๋ฐ”๋กœ ์ถœ๋ ฅ๋˜๊ธฐ์— ํ™•์ธ์ด ์šฉ์ดํ•˜๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค. [๋ณธ๋ฌธ์œผ๋กœ]
๋ฐ˜์‘ํ˜•

CASE 1)

a + b + c = 2000

-> ์˜ค๋ฅ˜ 

     why? '='๋Š” ๋Œ€์ž… ์—ฐ์‚ฐ์ž์ž„ 

     ๊ฐ™๋‹ค ํ• ๋ ค๋ฉด '==' ์จ์•ผํ•จ. ==์ˆ˜์ •ํ•ด์„œ ํ•ด๊ฒฐ

๋ฐ˜์‘ํ˜•

+ Recent posts