아래 코드에 문제가 있습니다. 문자열을 뒤집어 썼습니다.하지만 시간 오류가 있습니다. 누가 그것을 확인할 수 있습니까? 문제는 :
는 예 "이 문자열 내 IS"단어로 문자열 단어 바꾸기 C 언어
#include <iostream>
using namespace std;
void reverse(char *str, int start, int end){
char tmp;
while(end > start){
tmp = str[end];
str[end] = str[start];
str[start] = tmp;
end--;
start++;
}
}
int main()
{
char *s = "This is my string";
int len = strlen(s);
int start = 0;
int end = len-1;
reverse(s, start, end);
printf("%s", s);
end = 0;
while(end < len){
if(s[end] == ' '||s[end] =='\0'){
while(s[start]==' ')
start++;
reverse(s,start,end-1);
start = end;
}
end++;
}
printf("%s", s);
cin.get();
}
코드가 C 언어가 아닌 C++ 인 것 같습니다. – heretolearn
'main' 함수는 정수를 반환해야합니다. 이는 질문과 관련이 없지만 좋은 코딩 방법입니다. 표준 헤더 stdlib.h는 상수'EXIT_SUCCESS'와'EXIT_FAILURE'를 정의합니다. 이것은'main' (정상적으로 완료하려면'EXIT_SUCCESS', 그렇지 않으면'EXIT_FAILURE')에서 리턴하기위한 좋은 기본값입니다. – sfstewman