ENCRYPT 문제 질문드립니다. somanet 계속 runtime-error가 나오는데 원인을 모르겠습니다. VS에서도 돌려보고, linux에서도 돌려봤는데 정상동작해서 올린건데 계속 런타임 에러네요... 입력도 한번에 다 넣는걸로 바꿔보고 해도 안되는 이유가 뭘까요? #include <stdio.h> #include <string.h> #include <stdlib.h> #define NR_STRING 100 void encrypt( char* str ); int main( int argc, char** argv ) { int nr_trying; int j; char** strings; char* str; scanf("%d", &nr_trying); strings = (char**)malloc( nr_trying ); for( j=0; j<nr_trying; j++ ) { str = (char*)malloc(NR_STRING); scanf("%s", str ); strings[j] = str; } for( j=0; j<nr_trying; j++ ) { encrypt( strings[j] ); printf( "%s\n", strings[j] ); free(strings[j]); } return 0; } void encrypt( char* str ) { char* currStrPos; char* currTempPos; int stringLen; int i; char tempStr[NR_STRING] = { 0, }; stringLen = strlen(str); currStrPos = str; currTempPos = tempStr; for( i=0; i<stringLen; i++) { if( i%2 == 0) { *currStrPos = str[i]; currStrPos++; } else { *currTempPos = str[i]; currTempPos++; } } str[currStrPos-str] = '\0'; tempStr[currTempPos-tempStr] = '\0'; strcat(str,tempStr); } 12년 전
3개의 댓글이 있습니다. JongMan C에서 100자짜리 문자열을 저장하려면 배열 길이가 얼마여야 할까요? 12년 전 link somanet 다시 해보겠습니다. 감사합니다. 12년 전 link JongMan 입출력은 가능하면 C++문자열을 사용하시거나, 아니라면 정적 배열을 사용하시기를 추천드립니다. 동적 배열 메모리 관리는 프로그래밍 대회에서 직접 하기에는 너무 까다롭습니다. 12년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
somanet
계속 runtime-error가 나오는데 원인을 모르겠습니다.
VS에서도 돌려보고, linux에서도 돌려봤는데 정상동작해서
올린건데 계속 런타임 에러네요...
입력도 한번에 다 넣는걸로 바꿔보고 해도 안되는 이유가 뭘까요?
12년 전