Sph*_*inx 4 c c++ format scanf formatted-input
对于此代码:
int i;
scanf("%d\n",&i);
Run Code Online (Sandbox Code Playgroud)
在输入两个数字之前,我无法停止我的程序.
我觉得很奇怪,我知道当输入合适时,scanf会返回1.当我输入"12a'Enter'',"12'Enter'2"等等时,没关系,i = 12 ,似乎当我输入的东西是不同的int或输入'Enter'和其他东西时,scanf返回1.
我错过了什么?
Lih*_*ihO 14
"在我使用scanf("%d\n",&i);" 输入两个数字之前,我无法停止我的程序"
虽然这种格式会scanf读取数字并将其存储,但i这种"阅读"仍在继续,并且一直持续到找到非空白字符\n.这就是为什么输入的原因1 2使这个scanf站.
在这种情况下,您不应该在输入格式中指定换行符.请scanf("%d",&i);改用.
| 归档时间: |
|
| 查看次数: |
7517 次 |
| 最近记录: |