문자열 포인터를 전달연산 오류
서희
문자열 전달 오류질문 내용 : char *_strres[] = {1, 12, 123, 1234, 12345 };
문자열 포인터를 전달해서 순서를 바꾸는 건데
위와 같이 전달 하면 _strres[1] 번째에서 오류가 나오네요.
하나씩 전달 하면 오류가 안나는데
char s1[] = 1;
char s2[] = 12;
char s3[] = 123;
왜 그런지? ㅎ; 아래 소스 있습니다.
/////////////////////////////////////////////////
#include stdio.h
#include stdlib.h
#define printkprintf
void reversestring(char* _str);
int main(int argc, char* argv[]){
int i;
char s1[] = 1;
char s2[] = 12;
char s3[] = 123;
char *_strres[] = {
1, 12, 123, 1234, 12345
};
reversestring(s1);
printk( s1 = %s\n, s1);
reversestring(s2);
printk( s2 = %s\n, s2);
reversestring(s3);
printk( s3 = %s\n, s3);
for(i = 0; i 5; ++i){
printk(원판[%d]:%s\n, i, _strres[i]);
reversestring(_strres[i]);
printk( = %s\n, _strres[i]);
}
system(pause);
return 0;
}
void reversestring(char* _str){
int _start, _end;
char _c;
_start = 0;
_end = strlen(_str) - 1;
for(; _start _end; ++_start, --_end ){
_c = _str[_start];
_str[_start] = _str[_end];//런타임 오류가 발생하는곳
_str[_end] = _c;
}
}
-
계획자
^^ 좋은 하루되세요...
-
로다
아하 ^^ 깜박했네요...
상수를 바꾸는게 된줄 알고 ㅎㅎㅎ; 감사 -
다스리
앗~ 조금 늦었네요. 하하
-
소심한여자
char *_strRes[] = { \1\
-
가온길
char *_strRes[] = {
\1\