我是 C++ 及其开发的新手,我曾经扫描以获取输入参数。但是我给了两个输入参数。但是程序允许我输入额外的参数。请解释为什么会这样。请在下面找到我使用的代码。
#include <iostream>
int main(int argc, const char * argv[]) {
int a,b;
scanf("%i %i ",&a,&b);
printf("a-> %i",a);
printf("b-> %i",b);
return 0;
}
输出(允许40作为额外参数)
20
30
40
a-> 20b-> 30Program ended with exit code: 0
最佳答案
scanf takes extra parameter why?
这不是一个准确的结论。额外的输入留在输入流中。 scanf
不使用它。它在程序结束时被丢弃。
如果你有另一个 scanf
行,
scanf("%d", &c);
值 40
将被读入 c
。
关于c++ - 为什么scanf需要额外的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30738855/