C语言基础题出现错误,想了好久,求各位大佬纠错

[复制链接]
查看11 | 回复4 | 2021-1-27 06:18:50 | 显示全部楼层 |阅读模式
想用冒泡写一下这个排序,感觉这个输出有点莫名其妙的,各位大佬看出来了吗?




这是源码:
#include
intmain()
{
inti,j;
chara[3],temp;
while(scanf("%c%c%c",&a[0],&a[1],&a[2])!=EOF)
{
for(i=0;ia[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("%c%c%c\n",a[0],a[1],a[2]);
}
return0;
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:18:50 | 显示全部楼层
想起来了,加一个getchar()就可以了,如果哪位大佬能解释一下getchar()这个函数,分就给您了谢谢~
回复

使用道具 举报

千问 | 2021-1-27 06:18:50 | 显示全部楼层
getchar()就是接收一个字符,包括空格,回车
回复

使用道具 举报

千问 | 2021-1-27 06:18:50 | 显示全部楼层
while(scanf("%c%c%c",&a[0],&a[1],&a[2])!=EOF),还剩一个\n在缓冲区里

回复

使用道具 举报

千问 | 2021-1-27 06:18:50 | 显示全部楼层
引用1楼Dreamypurple的回复:想起来了,加一个getchar()就可以了,如果哪位大佬能解释一下getchar()这个函数,分就给您了谢谢~
%c是会匹配'\n'即换行符的,所以会出现楼主的现象
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行