[приведенная ниже программа предназначена для переворачивания строки до подчеркивания. Я получаю вывод, но с нежелательным возвратом каретки и переводом строки. Я пытался удалить эти "\r" из программы, используя "!=", но я не понимаю, куда их поместить. Я новичок в программировании на C, я искал это сомнение в Google, но я запутался. Пожалуйста, помогите выполнить этот код! [1]
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char arr[100];
fgets(arr,100,stdin);
int i,j,k=0,l,g=0;
l=strlen(arr);
for(i=0;i<l;i++)
{
if(arr[i]=='_')
{
k=i;
g=1;
}
}
if(g==1)
{
for(i=k-1;i>=0;i--)
{
printf("%c",arr[i]);
}
for(i=k;i<l;i++)
{
printf("%c",arr[i]);
}
}
else
{
for(i=l-1;i>=0;i--)
{
printf("%c",arr[i]);
}
}
}
fgets
включает новую строку в строку. Кроме того, отредактируйте свой вопрос и добавьте код непосредственно в вопрос в виде текста. Почему бы не загружать изображения кода на SO при задании вопроса? - person Johnny Mopp   schedule 06.05.2020'\r'
) из потока в текстовом режиме. Если вы используете систему, которая использует CR-LF для новых строк (например, Windows), он должен быть автоматически преобразован только в'\n'
для потоков в текстовом режиме. Единственная возможность, о которой я могу думать, это то, что вы запускаете свою программу в системе POSIX и передаете текстовый файл, созданный в Windows, или любая другая реализация C, которую вы используете, сломана. - person jamesdlin   schedule 06.05.2020