[c语言]初学者对于c语言scanf函数数有关的问题

很简单的一个程序看起来应该沒有问题,运行结果理论上应该像这样:

其中的原因就在于scanf是从标准缓冲区中读取输入的字符的所以想上面那样写的时候字符型变量j接收的就是输入i之后输入的那个回车键。

这样就可以得到想要的结果了

实际上这种情况通常会出现在定义了一个字符型数据(eg.char flag;)然后在一個for或者while循环里面会多次输入这个flag

运行程序是会出现这样的情况:
此时就可以使用上述两个方法解决。

例外在使用getchar()输入字符的时候也会出現上述情况,此时除了可以用上述中方法一解决之外对应上述的方法二可以可以改为:写两个getchar();

这个方法的原理与上述方法二是一样的。

我要回帖

更多关于 c语言scanf函数 的文章

 

随机推荐