#include <stdio.h>
#include <stdlib.h>
char* Reverse(char* string, int* size);
int main(void)
{
int i=0,j;
char* string;
printf("거꾸로 하고 싶은 문자열을 입력하세요. : ");
scanf("%s", string);
while (string[i] != NULL)
i++;
int* size = (int*)malloc(sizeof(char[i]));
*string=Reverse(*string, *size);
for (j = 0; j <= i; j++)
printf("%s ", string[j]);
return 0;
}
char* Reverse(char* string, int* size)
{
int i;
char* temp;
for (i = 0; i < *size / 2; i++)
{
*temp = string[*size - i];
string[*size - i] = string[i];
string[i] = *temp;
}
}
일단 코드 짜봤는데 그냥 안돌아가네요
답지 안보고 최대한 노력중이긴한데
언젠간 답이나오겠죠? ^^~
해당 댓글은 삭제되었습니다.
포인터에 문자열을 입력받으려하잖아
아 개헷갈림 그래도 노오력을 계속 하겠다
일단 이거 니 생각보다 좀 더 어려움.. 1. while for문 괄호부터 제대로 치자 2. 아스키코드에 대해 일단 이해해야하고 형변환도 필요할 듯? 3. reverse함수의 리턴값을 받아줄 버퍼가 충분한 temp 동적 배열을 선언 및 초기화 해야지 string배열에 그대로 집어넣으니 안 되지
동적배열 1시간전에 배워서 뭐가뭔지모르겠네... 형변환은 뭐였더라
아 미친 int 배열을 char 배열에 쑤셔넣는 줄 알았더니 것도 아니네 ㅋㅋㅋㅋ 저럴거면 int size를 뭐하러 포인터로 받어 그냥 값만 가져오면 되는데
그리고 size배열 초기화할 때 char[i]식으로 선언한적도 없는 변수 참조하는 것도 완전 무리수
지적할게 너무너무너무 많은데 여기까지만할게 c언어 파이팅
그래도 나는 포기하지 않는다 답지 있긴한데 없다치고 막 짜서 ㅠㅠ