LikeHash 2022-12-08 10:19 采纳率: 100%
浏览 36
已结题

两种情况,一个可以正常输入,但一改就不行了??为什么呀?

img

img


异常不能完全输入代码


#include<stdio.h>
int main(){
    char a[101];
    char c;
    int p;
    scanf("%s",&a);
        scanf("%c",&c);
    int o=0;
    for(int i=0;a[i]!='\0';i++){
        if(c==a[i])o++;
    }
    
    for(int i=0;a[i]!='\0';i++){
        if(c==a[i]){
            if(a[i]<a[i+1]){
                p=i;
                break;    
            }
                o--;
            if(o==0){
                    p=i;
                    break;
            }
        }
    }
    for(int i=0;a[i]!='\0';i++){
        if(i!=p)printf("%c",a[i]);
    }
    
    return 0;
}

正常输入

两个代码只有了scanf形式不同
#include<stdio.h>
int main(){
    char a[101];
    char c;
    int p;
    scanf("%s %c",&a,&c);
    int o=0;
    for(int i=0;a[i]!='\0';i++){
        if(c==a[i])o++;
    }
    
    for(int i=0;a[i]!='\0';i++){
        if(c==a[i]){
            if(a[i]<a[i+1]){
                p=i;
                break;    
            }
                o--;
            if(o==0){
                    p=i;
                    break;
            }
        }
    }
    for(int i=0;a[i]!='\0';i++){
        if(i!=p)printf("%c",a[i]);
    }
    
    return 0;
}
  • 写回答

4条回答 默认 最新

  • dp_shiyu 2022-12-08 10:38
    关注

    img


    您这个输入的结构都不一样了,要求输入是 按照 1 2 这种,中间空格间隔,但是使用两个scanf来处理时,无法把标准输入流给赋值进去。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 修改了问题 12月8日
  • 创建了问题 12月8日

悬赏问题

  • ¥50 有偿!centos curl port设置问题
  • ¥15 请问Quartus的Verilog代码怎么写?
  • ¥18 光催化第一性原理计算析氢效率STH怎么计算
  • ¥100 Mac 版foxmail 收邮件问题
  • ¥15 QWebEngineView
  • ¥15 如何使用shufflenet进行手写数字识别
  • ¥15 .net core 同时编辑怎么防止数据串了
  • ¥20 微信小程序播放直播流
  • ¥15 关于迷宫自走单片机循迹小车的知识
  • ¥15 python使用selenium工具爬取网站的问题