착각하는 경우가
배열의 이름은 배열의 시작 주소라고했다.
*배열이름 했을 때의 값이 같은 것이지
주소값 | 변수명 | 값 |
---|---|---|
0x00000033affa20 | a | "Hello" |
0x00000033affab0 | b | "Hello" |
이런말이라서 a == b가 같을 수 없다.
a가 가르키는것은 주소값, b가 가르키는 것도 주소값이기 때문에
strcmp(a, b) => int 로 뱉어줌
순서도 나타 내준다.
int StrCmp(char* dest, char* src)
{
while (*dest != '\0' && *src != '\0')
{
if (( *dest > *src) || StrLen(dest) > StrLen(src))
return -1;
else if ( *dest< *src || StrLen(dest) < StrLen(src))
return 1;
dest++;
src++;
}
return 0;
}
char* ReversStr(char* src)
{
int srcLen = StrLen(src);
char* newStr = new char[srcLen];
for (int i = 0; i < srcLen; ++i)
{
*(newStr + i) = *(src + srcLen - (i + 1));
}
*(newStr + srcLen) = '\0';
return newStr;
}
lne / 2한거만큼 반복하면된다....
ㅇㅋ?
중간에 있는거는 상관없음.