いくらやっても答えが出てこないことに困っています。C言語初心者で関数が苦手ですのでご教授
お願いします。
考え方としては
int getlineで配列sに文字列を入れて
void copyでlineをlongestにコピーして
reverseでlongestを逆向きにしてline2に入れていると考えています。
#include<stdio.h>
#define MAXLINE 1000
int getline(char line[],int maxline);
void copy(char to[],char from[]);
void reverse(char x[], char y[]);
main()
{
int len;
char line[MAXLINE];
char longest[MAXLINE];
char line2[MAXLINE];
while((len = getline(line,MAXLINE)) > 0){
copy(longest,line);
reverse(line2,longest);
}
printf("%c",line2);
return 0;
}
int getline(char s[],int lim)
{
int c,i;
for(i = 0; i<lim -1 && (c = getchar()) != EOF && c !='\n';++i)
s[i] = c;
if(c =='\n'){
s[i] = c;
++i;
}
s[i] = '\0';
return i;
}
void copy(char to[],char from[])
{
int i;
i = 0;
while((to[i] = from[i]) !='\0')
++i;
}
void reverse(char x[], char y[]) //xが逆向きに入れる箱での中身でyがlongestの中身
{
int i,s,max;
max = 50;
s = 0;
for(i= max; i > 0 ; --i)
x[s] = y[i];
++s;
}