뒤집혀진 문자열

khm1136 Reply 9 years 32 weeks ago
#include<stdio.h> #define MAXLINE 1000 int getline(char line[], int maxline); void copy(char to[], char from[]); int main() { int len; int j=0; char line[MAXLINE]; char prr[MAXLINE]; while ((len = getline(line, MAXLINE)) > 0) { copy(prr, line); for (j = (len - 2); j >= 0; j--) putchar(prr[j]); printf("\n"); } return 0; } int getline(char line[], int lim) { int i, c; for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) line[i] = c; if (c == '\n') { line[i] = c; ++i; } line[i] = '\0'; return i; } void copy(char to[], char from[]) { int i; i = 0; while ((to[i] = from[i]) != '\0') ++i; } 와 같이 코드를 짜서 실행시키면 거꾸로 출력이 되는데 왜 wrong answer로 뜨는지 모르겠어요
cjmp1 Reply 9 years 32 weeks ago
문자열의 끝이 '\n'일수도있지만 아닐 수도 있습니다. 위의 코드같은 경우에 문자열의 끝에 '\n' 이 있다고 가정하고 len-2부분부터 찍기 시작합니다. 이건 만약 문자열의 끝이 '\n'아닌 EOF라면 답이 제대로 출력되지 않겠죠???