printf와 ìœ ì‚¬í•œ print 함수 만들기 ---- || ì´ë¦„ || 소스 || 코딩 시간 || || ì´ìƒê·œ || [OurMajorLangIsCAndCPlusPlus/print/ì´ìƒê·œ] || 2시간 || || ì´ë„현 || [OurMajorLangIsCAndCPlusPlus/print/ì´ë„현] || 3시간 30ë¶„ || || 하기웅 || [OurMajorLangIsCAndCPlusPlus/print/하기웅] || 2시간 30ë¶„ || || [조현태] || [OurMajorLangIsCAndCPlusPlus/print/조현태] || ? || || 허준수 || [OurMajorLangIsCAndCPlusPlus/print/허준수] || 3시간 || || 김민경 || [OurMajorLangIsCAndCPlusPlus/print/김민경] || 진행중 || || ê¹€ìƒì„ || [OurMajorLangIsCAndCPlusPlus/print/ê¹€ìƒì„] || 2시간(ì—´ë¼ ë¬¼ì–´ë³´ë©´ì„œ..ã…¡ã…œ) || ---- 함수 ì›í˜• {{{~cpp void print(const char *, ...); }}} printf, scanf ê³„ì—´ì˜ í•¨ìˆ˜ 사용 금지 C++ ë¼ì´ë¸ŒëŸ¬ë¦¬ 사용 금지 ì¶œë ¥ì€ fputchar, fputs 등 사용 === ìš”êµ¬ì‚¬í• 1 === printf와 ê°™ì´ %d, %s, %f를 통해 ì •ìˆ˜(int), 문ìžì—´(char*), 실수(double)를 ì¶œë ¥í• ìˆ˜ 있다. 예 {{{~cpp int a = 10; char *b = "example"; double c = 10.5 print("number: %d, string: %s, real number: %f\n", a, b, c); }}} ê²°ê³¼ {{{~cpp number: 10, string: example, real number: 10.5 }}} === ìš”êµ¬ì‚¬í• 2 === @d(ì •ìˆ˜ ë°°ì—´), @s(문ìžì—´ ë°°ì—´), @f(실수 ë°°ì—´)를 통해 ë°°ì—´ì„ ì¶œë ¥í• ìˆ˜ 있다. ë°°ì—´ì˜ ê²½ìš° ë°°ì—´ í¬ì¸í„°ì™€ ë°°ì—´ì˜ ê¸¸ì´ë¥¼ ì „ë‹¬ì¸ìžë¡œ 넘긴다. ë°°ì—´ ì¶œë ¥ 형ì‹ì€ { ì›ì†Œ1, ì›ì†Œ2, ... } 예 {{{~cpp int a[3] = { 1, 2, 3 }; char *b[2] = { "abc", "def" }; print("array: @d\n", a, 3); print("array: @s\n", b, 2); }}} ê²°ê³¼ {{{~cpp array: { 1, 2, 3 } array: {abc, def } }}} === ìš”êµ¬ì‚¬í• 3 === %3d와 ê°™ì€ ì •ë ¬ ê¸°ëŠ¥ì„ ì œê³µí•œë‹¤. í•ìƒ ìš°ì¸¡ì •ë ¬, 길ì´ê°€ 넘어가면 그대로 ì¶œë ¥ 예 {{{~cpp int a = 123; int b = 12345; int c = 12345678; print("number: %5d\n", a); print("number: %5d\n", b); print("number: %5d\n", c); }}} ê²°ê³¼ {{{~cpp number: __123 number: 12345 number: 12345678 }}} ('_'는 ê³µë°±ì„ ì˜ë¯¸ 실재로는 ì¶œë ¥ 안ë¨) ---- [OurMajorLangIsCAndCPlusPlus]