#include <stdio.h>
typedef int bool;
#define true 1
#define false 0
int str_len(char* arr) {
int i=0;
int cnt=0;
while (arr[i] != '\0') {
cnt+=1;
i++;
}
return cnt;
}
int starts_with(char* a, char* b) {
int i=0;
while (a[i] != '\0' && b[i] != '\0'){
if (a[i] != b[i]){
break;
}
i++;
}
if (i == str_len(b)) return 1;
else return 0;
}
int main(void) {
bool rs;
rs = starts_with("abc", "ab");
printf("rs : %d\n", rs); // ์ถ๋ ฅ rs : 1
rs = starts_with("kbs", "kb");
printf("rs : %d\n", rs); // ์ถ๋ ฅ rs : 1
rs = starts_with("mbc", "mc");
printf("rs : %d\n", rs); // ์ถ๋ ฅ rs : 0
return 0;
}
C
๋ณต์ฌ
โ ์์ฉ๋ฌธ์ get_index_of๋ก ๋ฌธ์์ด ๋น๊ต ๊ตฌํํ๊ธฐ
// ๋ฌธ์ : ๋ฌธ์ฅ์์ ํน์ ๋ฌธ์์ ์์น๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ฃผ์ธ์.(get_index_of_c)
#include <stdio.h>
int get_str_len(char* a){
int cnt=0;
for (int i=0; a[i]!='\0'; i++){
cnt++;
}
return cnt;
}
int get_index_of(char* a, char* b){
if (get_str_len(a) < get_str_len(b)){
return -1;
}
int cnt=0;
for (int i=0; a[i] !='\0'; i++){
if(a[i] == b[0]){
for(int j=0; b[j] != '\0'; j++){
if(a[i+j] != b[j]){
return -1;
}
}
return i;
}
}
return -1;
}
int main(void) {
int index;
index = get_index_of("abcd", "b");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : 1
index = get_index_of("abcd", "bc");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : 1
index = get_index_of("abcd", "bcd");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : 1
index = get_index_of("abcd", "bd");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : -1
index = get_index_of("abcd", "abcd");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : 0
index = get_index_of("abcd", "d");
printf("index : %d\n", index);
// ์ถ๋ ฅ => index : 3
return 0;
}
C
๋ณต์ฌ
โข
char name[20]; ์์ sizeof(name) โ 20์ด ๋์ด
โข
int name[20]; ์์ sizeof(name)/sizeof(name[0]) โ 20์ด ๋์ด
โข
char* name = โabcโ; ์์ sizeof(name) โ 8์ด ๋์ด