例如,当我为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;
}
答案 0 :(得分:3)
删除换行符\n
,使用scanf
格式字符串,或只使用一个scanf
,例如:
scanf("%i%i", &a, &b);
或者:
scanf ("%i", &a);
scanf ("%i", &b);
答案 1 :(得分:1)
您的scanf()
不需要"\n"
。
scanf ("%i", &a);
scanf ("%i", &b);
答案 2 :(得分:1)
您应该在调用scanf
时从格式字符串中删除'\ n'。