文字列反転用に次のコードを作成しました。
#include<stdio.h>
#include<stdlib.h>
#define N 80
int main(void)
{
char string[N];
printf("enter the string\n");
fgets(string,N,stdin);
char *initial=string;
char *final=string;
while(*final)
final++;
final-=1;
char temp;
while(initial<=final)
{
temp=*final;
*final=*initial;
*initial=temp;
initial++;
final--;
}
printf("%s\n",string);
return 0;
}
次のようにプログラムを実行します。
$ echo hello | ./reverse
enter the string
olleh
$
ご覧のとおり、先頭に改行があります。これはなぜそこにあるのですか?どうすれば削除できますか?