๋จผ์ , ๋ฌธ์์ด์ ๋ํด ์์๋ณด๊ฒ ๋ค.
์ฝ๊ฒ ๋งํด,
๋ฌธ์์ด = ๋ฌธ์๋ฐฐ์ด + \0(0 byte ๋๋ฌธ์)
์ด๋ค.
์๋ฅผ ๋ค์ด,
char str[] = "apple";
char str2[] = {'a', 'p', 'p', 'l', 'e', '\0'};
char str[] = "apple";
char str2[] = {'a', 'p', 'p', 'l', 'e', '\0'};
์ด์ฒ๋ผ " " ๋ก ๋ฌถ์ฌ ์์ผ๋ฉด [๋ฌธ์์ด]์ด๋ค.
๋ฐ๋ผ์ ์์ ๊ฒฝ์ฐ๋ ํฌ๊ธฐ๋ 5๊ฐ ์๋ 6์ด๋ค. (๋๋ฌธ์ ํฌํจ)
** \0๋ฅผ ์์ฐ๋ฉด ๋ฌธ์์ด์ด ์๋ ๊ทธ๋ฅ ๋ฌธ์๋ฐฐ์ด์ด๋ค. **
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void main() {
// [๋ฌธ์์ด]
// ๋ฌธ์๋ฐฐ์ด+'\0'(1byte.๋๋ฌธ์) == ๋ฌธ์์ด
char str[] = "apple";
char str2[] = { 'a', 'p', 'p', 'l', 'e', '\0' }; //๋ฌธ์์ด (๋๋ฌธ์๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ.)
char arr[]= { 'a', 'p', 'p', 'l', 'e' }; // ๋ฌธ์๋ฐฐ์ด (๋๋ฌธ์๊ฐ ์์ผ๋ฏ๋ก.)
char str3[15] = "banana"; // 15๊ฐ๊น์ง ๋ฌธ์๋ฅผ ์
๋ ฅํ ์ ์๋ ๊ณต๊ฐ์ ์ฃผ๊ณ banana๋ฅผ ์ ์ฅ.
printf("str3 ํฌ๊ธฐ= %d\n", sizeof(str3));
printf("๋ฌธ์์ด์
๋ ฅ: ");
// gets(str3);
scanf("%s",str3);
// ๋ฐฐ์ด๋ช
==&๋ฐฐ์ด[0] //๋ฐ๋ผ์ ๋ฌธ์์ด์ ์ ์ฅํ ๋๋ &์ ์ฐ์ง์๊ณ ํํ๊ฐ๋ฅํ๋ค.
printf("str3: %s\n", str3);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
void main() {
// [๋ฌธ์์ด]
// ๋ฌธ์๋ฐฐ์ด+'\0'(1byte.๋๋ฌธ์) == ๋ฌธ์์ด
char str[] = "apple";
char str2[] = { 'a', 'p', 'p', 'l', 'e', '\0' }; //๋ฌธ์์ด (๋๋ฌธ์๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ.)
char arr[]= { 'a', 'p', 'p', 'l', 'e' }; // ๋ฌธ์๋ฐฐ์ด (๋๋ฌธ์๊ฐ ์์ผ๋ฏ๋ก.)
char str3[15] = "banana"; // 15๊ฐ๊น์ง ๋ฌธ์๋ฅผ ์
๋ ฅํ ์ ์๋ ๊ณต๊ฐ์ ์ฃผ๊ณ banana๋ฅผ ์ ์ฅ.
printf("str3 ํฌ๊ธฐ= %d\n", sizeof(str3));
printf("๋ฌธ์์ด์
๋ ฅ: ");
// gets(str3);
scanf("%s",str3);
// ๋ฐฐ์ด๋ช
==&๋ฐฐ์ด[0] //๋ฐ๋ผ์ ๋ฌธ์์ด์ ์ ์ฅํ ๋๋ &์ ์ฐ์ง์๊ณ ํํ๊ฐ๋ฅํ๋ค.
printf("str3: %s\n", str3);
}
*์ฃผ์*
char str[5] = "apple";
์ ๋ฌธ์ฅ์ ์ค๋ฅ์ด๋ค. ์์ผ๊น?
"apple" ์ ๋๋ฌธ์๊น์ง 6๊ฐ์ ๊ณต๊ฐ์ด ํ์ํ๋ฐ
์ธ๋ฑ์ค๊ฐ 5๋ผ์ ๊ณต๊ฐ์ด 5๊ฐ๋ผ 1๊ฐ์ ๊ณต๊ฐ์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ํ, gets() ๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ํ์์ง์ ์๋ฅผ ๋ฐ๋ก ์ ๋ ฅํ์ง ์์ ์ ์๋ค.
kiwi pie ์ ๊ฐ์ด ๊ณต๋ฐฑ์ด ์๋ ๋จ์ด๋ spaceํค์ enterํค๋ฅผ ๊ตฌ๋ถํ์ฌ ์ ๋ ฅ๋ฐ์์ค๋ค.
๋จ, gets() ํจ์๋ c++์ด ์๋ c์ธ์ด์์๋ง ์ฌ์ฉ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ผ๋ช ์ ~.c ๋ก ๋ฐ๊พธ์ด์ค์ผํ๋ค.
'A' vs "A"
1byte 2byte (๋ค์ ๋๋ฌธ์๊ฐ ์๋ค.)
char char๋ฐฐ์ด
์๋์ ์์คํ ์ ํ์ธํด๋ณด์.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[10]; //๋ฌธ์10๊ฐ ์
๋ ฅ๊ฐ๋ฅํ ๋ฌธ์์ด ๊ณต๊ฐ ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์์ด์ str์ ์ ์ฅ.
printf("์
๋ ฅํ ๋ฌธ์์ด์ %s์
๋๋ค.\n", str);
// 1) ๋ฌธ์์ด [๊ธธ์ด]๋ฅผ ๋ฐํํ๋ ํจ์
// => ์ค์ง์ ์ผ๋ก ๋ฌธ์๋ค์ ์ ์ฅํ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ
// => ์ฌ์ฉํ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ
// ('\0'๋ ํฌํจํ์ง์๋๋ค!)
printf("๋ฌธ์์ด ๊ธธ์ด๋ %d์
๋๋ค.\n", strlen(str));
printf("\n\n");
char c;
printf("๋ฌธ์1๊ฐ์
๋ ฅ: ");
scanf(" %c", &c); //์
๋ ฅํ ๋ฌธ์๋ฅผ c์ ์ ์ฅ.
int cnt = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == c) { //์กฐ๊ฑด๋ฌธ: str[i] ์ c๊ฐ ๊ฐ์๊ฐ?
cnt++;
}
}
printf("%s์ %c๋ %d๊ฐ์์ต๋๋ค!\n",str,c, cnt);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[10]; //๋ฌธ์10๊ฐ ์
๋ ฅ๊ฐ๋ฅํ ๋ฌธ์์ด ๊ณต๊ฐ ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์์ด์ str์ ์ ์ฅ.
printf("์
๋ ฅํ ๋ฌธ์์ด์ %s์
๋๋ค.\n", str);
// 1) ๋ฌธ์์ด [๊ธธ์ด]๋ฅผ ๋ฐํํ๋ ํจ์
// => ์ค์ง์ ์ผ๋ก ๋ฌธ์๋ค์ ์ ์ฅํ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ
// => ์ฌ์ฉํ๋ ๊ณต๊ฐ์ ํฌ๊ธฐ
// ('\0'๋ ํฌํจํ์ง์๋๋ค!)
printf("๋ฌธ์์ด ๊ธธ์ด๋ %d์
๋๋ค.\n", strlen(str));
printf("\n\n");
char c;
printf("๋ฌธ์1๊ฐ์
๋ ฅ: ");
scanf(" %c", &c); //์
๋ ฅํ ๋ฌธ์๋ฅผ c์ ์ ์ฅ.
int cnt = 0;
for (int i = 0; i < strlen(str); i++) {
if (str[i] == c) { //์กฐ๊ฑด๋ฌธ: str[i] ์ c๊ฐ ๊ฐ์๊ฐ?
cnt++;
}
}
printf("%s์ %c๋ %d๊ฐ์์ต๋๋ค!\n",str,c, cnt);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15]; //๋ฌธ์ 15๊ฐ ์
๋ ฅ ๊ฐ๋ฅํ ๊ณต๊ฐ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์๋ฅผ str์ ์ ์ฅ.
for (char c = 'a'; c <= 'z'; c++) { // ๋ฌธ์๊ณต๊ฐ c์ ์ ์ฅ๋ ๊ฐ์ด a~z๋ ๋๊น์ง ๋ฐ๋ณต.
int cnt = 0; // cnt์ 0 ์ ์ฅ.
for (int i = 0; i < strlen(str); i++) { // ์กฐ๊ฑด: i ๊ฐ strlen(str) ๋ณด๋ค ์์๊ฐ?
if (c == str[i]) { // ์กฐ๊ฑด๋ฌธ: c์ ์ ์ฅ๋ ๋ฌธ์์ str๋ฌธ์์ด์ i๋ฒ์งธ ์ธ๋ฑ์ค์ ์ ์ฅ๋ ๊ฐ์ด ๊ฐ์๊ฐ?
cnt++; // ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด cnt์ 1์ถ๊ฐ.
}
}
if (cnt == 0) { // ์กฐ๊ฑด๋ฌธ: cnt๊ฐ 0์ธ๊ฐ?
continue; // ์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ์ ์์์ผ๋ก ์ด๋.
}
printf("%c: %d\n", c, cnt); // cnt๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ด printf๋ฌธ์ ์ํํ๊ฒ ๋๋ค.
} //---> ๋งจ ์ฒซ for๋ฌธ {}๋ธ๋ก๊ตฌ๊ฐ ๋๋ถ๋ถ.
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15]; //๋ฌธ์ 15๊ฐ ์
๋ ฅ ๊ฐ๋ฅํ ๊ณต๊ฐ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์๋ฅผ str์ ์ ์ฅ.
for (char c = 'a'; c <= 'z'; c++) { // ๋ฌธ์๊ณต๊ฐ c์ ์ ์ฅ๋ ๊ฐ์ด a~z๋ ๋๊น์ง ๋ฐ๋ณต.
int cnt = 0; // cnt์ 0 ์ ์ฅ.
for (int i = 0; i < strlen(str); i++) { // ์กฐ๊ฑด: i ๊ฐ strlen(str) ๋ณด๋ค ์์๊ฐ?
if (c == str[i]) { // ์กฐ๊ฑด๋ฌธ: c์ ์ ์ฅ๋ ๋ฌธ์์ str๋ฌธ์์ด์ i๋ฒ์งธ ์ธ๋ฑ์ค์ ์ ์ฅ๋ ๊ฐ์ด ๊ฐ์๊ฐ?
cnt++; // ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด cnt์ 1์ถ๊ฐ.
}
}
if (cnt == 0) { // ์กฐ๊ฑด๋ฌธ: cnt๊ฐ 0์ธ๊ฐ?
continue; // ์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ์ ์์์ผ๋ก ์ด๋.
}
printf("%c: %d\n", c, cnt); // cnt๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ด printf๋ฌธ์ ์ํํ๊ฒ ๋๋ค.
} //---> ๋งจ ์ฒซ for๋ฌธ {}๋ธ๋ก๊ตฌ๊ฐ ๋๋ถ๋ถ.
}
banana ์ ๋ ฅ ๊ฒฝ์ฐ.
banana ์ ๋ ฅ ๊ฒฝ์ฐ์ ๋๋ฒ๊น ํ
'A'~'Z' : 65~90
'a'~'z' : 97~122
๋๋ฌธ์๋ ์๋ฌธ์, ์๋ฌธ์๋ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ฃผ๋ ์์คํ ์ ๋ง๋ค์ด๋ณด์.
๊ฐ ๋ฌธ์์ ์์คํค ์ฝ๋๋ ์์ ๊ฐ๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15]; // ๋ฌธ์15๊ฐ ์
๋ ฅ๊ฐ๋ฅํ ๋ฌธ์์ด ๊ณต๊ฐ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์์ด์ str์ ์ ์ฅ.
for (int i = 0; i < strlen(str); i++) { // ์กฐ๊ฑด: i๊ฐ strlen(str) ๋ณด๋ค ์์๊ฐ?
if ('A' <= str[i] && str[i] <= 'Z') { // str[i]์ ์์คํค์ฝ๋๊ฐ 'A'์ 'Z'์ ์์คํค ์ฝ๋ ์ฌ์ด์ธ ์ซ์์ธ๊ฐ?
str[i] += 32; // 32๋ฅผ ๋ํ์ฌ ์๋ฌธ์ ์์คํค์ฝ๋๋ก ๋ง๋ค์ด์ค๋ค.
}
else {
str[i] -= 32; // 32๋ฅผ ๋นผ์ ๋๋ฌธ์ ์์คํค์ฝ๋๋ก ๋ง๋ค์ด์ค๋ค.
}
}
printf("๋ฐ๋ ๋ฌธ์์ด: %s\n", str);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15]; // ๋ฌธ์15๊ฐ ์
๋ ฅ๊ฐ๋ฅํ ๋ฌธ์์ด ๊ณต๊ฐ์์ฑ.
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str); //์
๋ ฅํ ๋ฌธ์์ด์ str์ ์ ์ฅ.
for (int i = 0; i < strlen(str); i++) { // ์กฐ๊ฑด: i๊ฐ strlen(str) ๋ณด๋ค ์์๊ฐ?
if ('A' <= str[i] && str[i] <= 'Z') { // str[i]์ ์์คํค์ฝ๋๊ฐ 'A'์ 'Z'์ ์์คํค ์ฝ๋ ์ฌ์ด์ธ ์ซ์์ธ๊ฐ?
str[i] += 32; // 32๋ฅผ ๋ํ์ฌ ์๋ฌธ์ ์์คํค์ฝ๋๋ก ๋ง๋ค์ด์ค๋ค.
}
else {
str[i] -= 32; // 32๋ฅผ ๋นผ์ ๋๋ฌธ์ ์์คํค์ฝ๋๋ก ๋ง๋ค์ด์ค๋ค.
}
}
printf("๋ฐ๋ ๋ฌธ์์ด: %s\n", str);
}
strlen()ํจ์๋ <string.h> ์ ์กด์ฌํ๋ค. **
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
์ฌ๊ธฐ์ size of() , ์ ์ฅ๋ ํฌ๊ธฐ, strlen() ์ ์ฐจ์ด์ ๋ํด ์์๋ณด๊ฒ ๋ค.
์ด ์ฐจ์ด์ธ ๊ฒ์ด๋ค.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15];
// str = "apple"; -> ๋ถ๊ฐ๋ฅ.
strcpy(str, "apple"); // str๋ฌธ์์ด ๊ณต๊ฐ์ apple์ ์ ์ฅ.
printf("str: %s\n", str);
strcat(str, "๋"); // str๋ฌธ์์ด์ ๋งจ ๋ค์ "๋"์ ์ ์ฅ. (\0๋ณด๋ค๋ ์)
printf("str: %s\n", str);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[15];
// str = "apple"; -> ๋ถ๊ฐ๋ฅ.
strcpy(str, "apple"); // str๋ฌธ์์ด ๊ณต๊ฐ์ apple์ ์ ์ฅ.
printf("str: %s\n", str);
strcat(str, "๋"); // str๋ฌธ์์ด์ ๋งจ ๋ค์ "๋"์ ์ ์ฅ. (\0๋ณด๋ค๋ ์)
printf("str: %s\n", str);
}
strcpy() , strcat()
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
// ๋ฌธ์์ด ๋น๊ตํจ์ -> == ๋ฑ์ ๋น๊ต์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์์์!
char str1[] = "apple";
char str2[] = "banana";
char str3[] = "apple";
printf("str1 vs str2 = %d\n", strcmp(str1, str2));
// ์ผ์ชฝ์ ์์คํค์ฝ๋๊ฐ์ด ๋ ์์ผ๋ฉด -1
printf("str1 vs str3 = %d\n", strcmp(str1, str3));
// ๋์ผ 0
printf("str2 vs str1 = %d\n", strcmp(str2, str1));
// ์ค๋ฅธ์ชฝ์ ์์คํค์ฝ๋๊ฐ์ด ๋ ์์ผ๋ฉด 1
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
// ๋ฌธ์์ด ๋น๊ตํจ์ -> == ๋ฑ์ ๋น๊ต์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์์์!
char str1[] = "apple";
char str2[] = "banana";
char str3[] = "apple";
printf("str1 vs str2 = %d\n", strcmp(str1, str2));
// ์ผ์ชฝ์ ์์คํค์ฝ๋๊ฐ์ด ๋ ์์ผ๋ฉด -1
printf("str1 vs str3 = %d\n", strcmp(str1, str3));
// ๋์ผ 0
printf("str2 vs str1 = %d\n", strcmp(str2, str1));
// ์ค๋ฅธ์ชฝ์ ์์คํค์ฝ๋๊ฐ์ด ๋ ์์ผ๋ฉด 1
}
strcmp()
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char id[10];
char pw[10];
printf("id์
๋ ฅ: ");
scanf("%s", id);
printf("pw์
๋ ฅ: ");
scanf("%s", pw);
if (strcmp(id, "kim") != 0) { // ์กฐ๊ฑด๋ฌธ: id์ "kim"๊ณผ์ strcmp๊ฐ์ด 0์ด ์๋๊ฐ?
printf("ํด๋น์์ด๋๋ ์์ต๋๋ค!\n");
}
else if (strcmp(pw, "1234") != 0) { // ์กฐ๊ฑด๋ฌธ: pw์ "1234"์์ strcmp๊ฐ์ด 0์ด ์๋๊ฐ?
printf("๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ํ์ธํด๋ณด์ธ์!\n");
}
else { // ๊ทธ๋ฐ์ ๊ฒฝ์ฐ.
printf("๋ก๊ทธ์ธ์ฑ๊ณต!\n");
printf("ID: %s\n", id);
for (int i = 0; i < strlen(pw); i++) { //pw๋ฅผ * ๋ก ํํํ๊ธฐ์ํ ๋ฐ๋ณต๋ฌธ.
pw[i] = '*';
}
printf("pw: %s\n", pw);
}
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char id[10];
char pw[10];
printf("id์
๋ ฅ: ");
scanf("%s", id);
printf("pw์
๋ ฅ: ");
scanf("%s", pw);
if (strcmp(id, "kim") != 0) { // ์กฐ๊ฑด๋ฌธ: id์ "kim"๊ณผ์ strcmp๊ฐ์ด 0์ด ์๋๊ฐ?
printf("ํด๋น์์ด๋๋ ์์ต๋๋ค!\n");
}
else if (strcmp(pw, "1234") != 0) { // ์กฐ๊ฑด๋ฌธ: pw์ "1234"์์ strcmp๊ฐ์ด 0์ด ์๋๊ฐ?
printf("๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ํ์ธํด๋ณด์ธ์!\n");
}
else { // ๊ทธ๋ฐ์ ๊ฒฝ์ฐ.
printf("๋ก๊ทธ์ธ์ฑ๊ณต!\n");
printf("ID: %s\n", id);
for (int i = 0; i < strlen(pw); i++) { //pw๋ฅผ * ๋ก ํํํ๊ธฐ์ํ ๋ฐ๋ณต๋ฌธ.
pw[i] = '*';
}
printf("pw: %s\n", pw);
}
}
kim , 4321 ์ ๋ ฅ.
qwee , 3123 ์ ๋ ฅ.
kim , 1234 ์ ๋ ฅ.
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[10];
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str);
int num;
printf("์นธ์
๋ ฅ: ");
scanf("%d", &num);
for (int i = 0; i < strlen(str); i++) {
str[i] += num; // str[i]์ num ๋งํผ ๋ํ๊ณ ์ ์ฅ.
if (str[i] > 'z') { // str[i]์ ์์คํค์ฝ๋๊ฐ 'z'์ ์์คํค์ฝ๋๋ณด๋ค ํฐ ๊ฒฝ์ฐ.
str[i] -= 26; // str[i]์์ 26์ ๋นผ๊ณ ์ ์ฅ.
}
}
printf("์ด๋ ํ์ ๋ฌธ์์ด์ %s์
๋๋ค.\n", str);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char str[10];
printf("๋ฌธ์์ด์
๋ ฅ: ");
scanf("%s", str);
int num;
printf("์นธ์
๋ ฅ: ");
scanf("%d", &num);
for (int i = 0; i < strlen(str); i++) {
str[i] += num; // str[i]์ num ๋งํผ ๋ํ๊ณ ์ ์ฅ.
if (str[i] > 'z') { // str[i]์ ์์คํค์ฝ๋๊ฐ 'z'์ ์์คํค์ฝ๋๋ณด๋ค ํฐ ๊ฒฝ์ฐ.
str[i] -= 26; // str[i]์์ 26์ ๋นผ๊ณ ์ ์ฅ.
}
}
printf("์ด๋ ํ์ ๋ฌธ์์ด์ %s์
๋๋ค.\n", str);
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char word[10];
printf("์๋จ์ด: "); // ๋จ์ด ์
๋ ฅํ word์ ์ ์ฅ.
scanf("%s", word);
char ans[10]; //10๊ฐ์ ๋ฌธ์ ์
๋ ฅ ๊ฐ๋ฅํ ans๋ฌธ์์ด ๊ณต๊ฐ ์์ฑ.
strcpy(ans, word); // banana // ans์ word์ ์ ์ฅ๋ ๊ฐ์ ๋ณต์ฌ.
for (int i = 0; i < strlen(ans); i++) { //ans์ ๋ฌธ์๊ธธ์ด ๋งํผ ๋ฐ๋ณต.
ans[i] = '_'; // ______ //ans[i]๋ฅผ '_' ๋ก ๊ต์ฒด. ์ฆ, ans๊ฐ ______
}
//ans[strlen(word)] = '\0';
int life = 3;
while (1) { // ๋ฌดํ๋ฃจํ ์์ฑ.
char c;
printf("%s: ",ans); // _______์ถ๋ ฅ.
scanf(" %c", &c); //์
๋ ฅํ ๊ฐ์ c์ ์ ์ฅ.
int check = 1; //์ฒดํฌ์ฉ ๋ณ์ check์ 1์ ์ฅ.
for (int i = 0; i < strlen(word); i++) { //word์ ์ ์ฅ๋ ๋ฌธ์์ด๊ธธ์ด ๋งํผ ๋ฐ๋ณต.
if (c == word[i]) { // ์กฐ๊ฑด๋ฌธ: c์ ์ ์ฅ๋ ๋ฌธ์์ word[i]๊ฐ ๊ฐ์๊ฐ?
ans[i]=c; // ๊ฐ์ผ๋ฉด ______ ์ค์์ ๊ฐ์ ์ธ๋ฑ์ค ๋ถ๋ถ์ ์
๋ ฅํ c์ ์ ์ฅ๋ ๋ฌธ์๋ก ๊ต์ฒด.
check = 0; // ์ฒดํฌ์ฉ ๋ณ์์ 0์ ์ฅ.
}
}
if (check) { // ์ฒดํฌ์ฉ ๋ณ์๊ฐ 1์ด๋ฉด ์ํ, 0์ด๋ฉด ๊ฑด๋๋.
printf("%c๋(์) ์๋ ๋ฌธ์์
๋๋ค!\n", c);
life--; //์๋ช
๊ฐ์ธ life์์ 1 ์ญ๊ฐ. //life๋ printf๋ฅผ ํตํด ๋ช๊ฐ ๋จ์๋์ง ์๋ ค์ค๋ ์ข๋ค.
}
if (strcmp(ans,word)==0) { // ์กฐ๊ฑด๋ฌธ: ans์ word์ strcmp๊ฐ์ด 0๊ณผ ๊ฐ์๊ฐ?
printf("%s! ์ ๋ต์
๋๋ค!!\n", ans);
break; // ์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ ํ์ถ.
}
else if (life == 0) { // ์๋ช
๊ฐ์ธ life๊ฐ์ด 0์ด ๋ ๊ฒฝ์ฐ ์ํ.
printf("GameOver...์ ๋ต์ %s์ด์์ต๋๋ค...\n", word);
break; //์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ ํ์ถ.
}
}
}
ใ กใ กใ กใ กใ ก
#include<stdio.h>
#include<string.h>
void main() {
char word[10];
printf("์๋จ์ด: "); // ๋จ์ด ์
๋ ฅํ word์ ์ ์ฅ.
scanf("%s", word);
char ans[10]; //10๊ฐ์ ๋ฌธ์ ์
๋ ฅ ๊ฐ๋ฅํ ans๋ฌธ์์ด ๊ณต๊ฐ ์์ฑ.
strcpy(ans, word); // banana // ans์ word์ ์ ์ฅ๋ ๊ฐ์ ๋ณต์ฌ.
for (int i = 0; i < strlen(ans); i++) { //ans์ ๋ฌธ์๊ธธ์ด ๋งํผ ๋ฐ๋ณต.
ans[i] = '_'; // ______ //ans[i]๋ฅผ '_' ๋ก ๊ต์ฒด. ์ฆ, ans๊ฐ ______
}
//ans[strlen(word)] = '\0';
int life = 3;
while (1) { // ๋ฌดํ๋ฃจํ ์์ฑ.
char c;
printf("%s: ",ans); // _______์ถ๋ ฅ.
scanf(" %c", &c); //์
๋ ฅํ ๊ฐ์ c์ ์ ์ฅ.
int check = 1; //์ฒดํฌ์ฉ ๋ณ์ check์ 1์ ์ฅ.
for (int i = 0; i < strlen(word); i++) { //word์ ์ ์ฅ๋ ๋ฌธ์์ด๊ธธ์ด ๋งํผ ๋ฐ๋ณต.
if (c == word[i]) { // ์กฐ๊ฑด๋ฌธ: c์ ์ ์ฅ๋ ๋ฌธ์์ word[i]๊ฐ ๊ฐ์๊ฐ?
ans[i]=c; // ๊ฐ์ผ๋ฉด ______ ์ค์์ ๊ฐ์ ์ธ๋ฑ์ค ๋ถ๋ถ์ ์
๋ ฅํ c์ ์ ์ฅ๋ ๋ฌธ์๋ก ๊ต์ฒด.
check = 0; // ์ฒดํฌ์ฉ ๋ณ์์ 0์ ์ฅ.
}
}
if (check) { // ์ฒดํฌ์ฉ ๋ณ์๊ฐ 1์ด๋ฉด ์ํ, 0์ด๋ฉด ๊ฑด๋๋.
printf("%c๋(์) ์๋ ๋ฌธ์์
๋๋ค!\n", c);
life--; //์๋ช
๊ฐ์ธ life์์ 1 ์ญ๊ฐ. //life๋ printf๋ฅผ ํตํด ๋ช๊ฐ ๋จ์๋์ง ์๋ ค์ค๋ ์ข๋ค.
}
if (strcmp(ans,word)==0) { // ์กฐ๊ฑด๋ฌธ: ans์ word์ strcmp๊ฐ์ด 0๊ณผ ๊ฐ์๊ฐ?
printf("%s! ์ ๋ต์
๋๋ค!!\n", ans);
break; // ์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ ํ์ถ.
}
else if (life == 0) { // ์๋ช
๊ฐ์ธ life๊ฐ์ด 0์ด ๋ ๊ฒฝ์ฐ ์ํ.
printf("GameOver...์ ๋ต์ %s์ด์์ต๋๋ค...\n", word);
break; //์ฆ์ ์ด ๋ฐ๋ณต๋ฌธ ํ์ถ.
}
}
}
๋.
๋๊ธ