输出中有不需要的回车符和换行符。如何在下面的程序中删除回车符“ \ r”?

问题描述 投票:0回答:1

[下面的程序用于将字符串反转到下划线。我正在获取输出,但是回车和换行不需要。我试图使用“!=”从程序中删除那些“ \ 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]);
        }
    }
}
c carriage-return linefeed
1个回答
0
投票
#include<stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
 char arr[100];
 scanf("%[^\n]%*c,arr);
 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]);
     }
 }

 }
© www.soinside.com 2019 - 2024. All rights reserved.