有大神知道这个问题怎么解决吗?我输入上一个字符的回车被当做下
c语言吧
全部回复
仅看楼主
level 9
我只要这样
楼主
有大神知道这个问题怎么解决吗?我输入上一个字符的回车被当做下一个字符输入到数组里面了,如何不让他读取回车,也就是数组里面没有回车符号
2018年11月23日 06点11分
1
level 10
梦想是你🌀
直接主函数输入烫手?
2018年11月23日 07点11分
2
我只要这样
我只是为了方便理解,才简化的。程序如果写大一点,函数也会有很多,这个问题怎么办呢?
2018年11月23日 07点11分
level 1
lovely_pTq
楼主解决这个问题了吗?
2021年05月17日 07点05分
3
level 2
静九乐
最近想考计算机等级 有没有小伙伴一起拼课,相中一个看课的网站,
现在一起拼课可以免费,有兴趣的可以回复我一下
2021年05月17日 08点05分
4
level 9
伊森Y亨特
c%前面加个括号
2021年05月17日 10点05分
5
level 3
夜苏独白
每次完成之后吃掉 \n 或者 \r ,,,这里本来正确应该是清空stdin的缓冲和缓存的,,但是现在的linux,,,,给你个最直接的方法,在你的scanf下面 加一句 fgetc(stdin); 吃掉一个\n或者\r
2021年05月17日 10点05分
6
level 3
夜苏独白
一般我会直接吃完剩下的所有 while ((c=getchar()) != '\n' && c != EOF); 这样子保证输入流里面是我预期的,,fflush好像在windows上是可以用来做这件事,,,不建议使用fflush,,,在linux上的话 fflush这个函数的实现和 windows不一样,不是同一个标准,,所以功能差别蛮大的
2021年05月17日 11点05分
7
level 11
金色潜鸟
输入语句执行后,可以跟着 用 fflush(stdin); 清除 标准输入流中剩余的字符。
若觉得 fflush() 不好, 可以自己写函数 :
void clean_stdin(void){
int c;
do { c = getchar(); } while (c != '\n' && c != EOF);
}
然后调用它,做清除工作。
2021年05月17日 11点05分
9
level 10
缺心眼的花
有问题可以进来一起讨论
2021年05月17日 11点05分
10
1