当前位置: 首页 > 知识库问答 >
问题:

出现一个额外的输入

唐永春
2023-03-14

例如,当我为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;
}

共有3个答案

宇文俊明
2023-03-14

您应该在调用 scanf 时从格式字符串中删除“\n”。

徐翔
2023-03-14

您的 scanf() 不需要“\n”。

scanf ("%i", &a);
scanf ("%i", &b);
白越
2023-03-14

去掉< code>scanf格式字符串中的换行符:< code>\n,或者只使用一个< code>scanf,例如:

scanf("%i%i", &a, &b);

或:

scanf ("%i", &a);
scanf ("%i", &b);
 类似资料:
  • 我为WEKA编写了一个自定义分类器,它需要提供除实例的预测类之外的信息。具体来说,它是一个列表,描述了每个训练实例子集对预测类的影响有多大。 additionalMeasureProducer界面将无法工作,因为我需要将字符串打印到GUI。我希望用户能够选择输出此信息。我原本希望“分类器评估选项”对话框中的选项“输出模型”可以起到作用,但WEKA最终在分类之前调用了我的分类器的方法。我认为这是一个

  • 我在过去(90年代中期)使用过ANTLR,并决定重新使用它,因为我想为赋值文件中的注释以及Unicode关键字和值提供支持。 我的简单测试文件再次证明,即使使用好的工具,编写正确的语法也是一个困难的问题。我正在使用VS2012的ANTLR语言支持插件,并用C#进行开发。所以,我对Eclipse/Java保留很满意,但是C#插件和ANTLR Nuget包(运行时和代码生成器)完全按照广告所说的那样工

  • 我最近正在学习linux下的fork()函数。我写了个程序。 在我编译并运行它之后,我得到了一个意外的百分号。 但是如果我在这些字母后面加上\n,百分号就消失了。 有人知道原因吗? 我还有一个问题。每次我重播节目时,得到的答案都是一样的。它总是显示“ACB”。顺序总是一样的。为什么?

  • 问题内容: 输入文件: python代码: 问题: 如您所见,输出在每个项目之间都有多余的行。 如何预防呢? 问题答案: 追加一个换行符,并且输入行已经以换行符结尾。 一个标准的解决方案是逐字输出输入行: PS :对于Python 3(或具有打印功能的Python 2),abaront的解决方案是最简单的解决方案。

  • 问题是 有一个输入字符串集合和一个查询字符串集合。对于每个查询字符串,确定它在输入字符串列表中出现的次数。 字符串=[ab,ab,abc]查询=[ab,abc,bc]有ab的实例2,'abc'的实例1和'bc'的实例0。对于每个查询,添加一个元素。 现在我尝试使用链表实现它,但不是以2,1,0的形式获得输出。我得到的输出是2,1,0,2,2,1,0,2。我不知道是如何为超过3个链接创建LL的。请帮

  • 问题内容: 我尝试从日期中删除秒: 为什么删除“ 10”末尾的0? 问题答案: 不会删除确切的字符串-会删除字符串中出现的所有字符。由于您知道要删除的字符串的长度,因此只需使用 甚至更好