例如,当我为 num1 输入 2,为 num2 输入 3 时,我希望在输入第二个数字后立即得到 8 作为输出。但是,程序要求我再输入一个整数,而我只是输入一个随机数,如 242,它仍然输出 8,这意味着它不影响结果。所以我的问题是为什么会有第三个输入? 感谢您的帮助!
#include "stdafx.h"
int Power (int num1, int num2);
int main ()
{
int a, b;
puts ("Enter two numbers, a and b:\n");
scanf ("%i\n", &a);
scanf ("%i\n", &b);
printf ("%i\n", Power(a, b));
return 0;
}
int Power (int num1, int num2)
{
int sum=1;
for (int i=1; i<=num2; i++){
sum= sum*num1;
}
return sum;
}
最佳答案
去掉换行符:\n
,在你的 scanf
格式字符串中,或者只使用一个 scanf
,例如:
scanf("%i%i", &a, &b);
或者:
scanf ("%i", &a);
scanf ("%i", &b);
关于c - 出现一个额外的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161861/