【发布时间】:2015-08-24 16:09:28
【问题描述】:
我是 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
【问题讨论】:
-
你要么使用 c++ 开发,要么使用 scanf。
-
也许你们不熟悉 C++,但这实际上是有效的 C++,即使它也是有效的 C(事实并非如此,除非他有自己的名为 iostream 的头文件)。
-
@BenjaminLindley:好吧,它至少可以是有效的 C++。任何标准标头可以包含其他标准标头,因此
iostream包括scanf和printf的声明是允许的,但不是您通常想要依赖的。 -
@JerryCoffin:非常正确。