星沁城 2022-09-09 10:10 采纳率: 100%
浏览 34
已结题

while(scanf(""))中空格对输出的影响

while(scanf("三个%c",\&a,\&b,\&c)!=EOF)第一个%c前无空格程序运行会出错与 while(scanf(" 三个%c",&a,&b,&c)!=EOF)运行结果不同

(代码while(scanf(""))中是三个%c平台不让连续输入)
有空格的可以正常输出如:abc
a b c
qpo
o p q
而无空格的只有第一次输出的是正确,后面则无规律输出

代码奉上

#include<stdio.h>
int main()
{
char a,b,c,d;

while(scanf(" %c有三个%c",&a,&b,&c)!=EOF){                                       
 if(a>b) {
        d=a,a=b,b=d; 
    }
 if(a>c) {
        d=a,a=c,c=d;
    }
 if(b>c) {
        d=b,b=c,c=d;
    }
 printf("三个%c\n",a,b,c);
}
 return 0; 
}

  • 写回答

2条回答 默认 最新

  • Nutkey 2022-09-09 10:24
    关注

    while(scanf(" %c %c %c",&a,&b,&c)!=EOF)这样改才可以输入三个
    printf("%c %c %c\n",a,b,c);也是这样才有三个输出

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

报告相同问题?

问题事件

  • 系统已结题 9月25日
  • 已采纳回答 9月17日
  • 创建了问题 9月9日