【问题标题】:Why my program combines two printf commands?为什么我的程序结合了两个 printf 命令?
【发布时间】:2013-12-09 23:19:09
【问题描述】:

这是我的程序。应该写出一些整数的平方。

#include <stdio.h>

int main (){
     int a;
     printf("Type an intiger.");
     scanf("%i", &a);
     printf("Square of that intiger is %i", a*a);
     return 0;
}

当我在 Eclipse 中运行一个程序时,它首先要求我输入一个数字。我输入 5。然后作为输出它给我

Type an intiger.Square of that intiger is 25.

它应该首先打印“Type an intiger”,然后再打印其余部分。但它只是结合了两个 printf 命令。问题是什么?

【问题讨论】:

  • 应该是“整数”
  • 使用我刚刚下载的最新 Eclipse C/C++ 版本,您的代码的复制粘贴就像人们期望的那样工作。也许download it here,然后再试一次。
  • 我在这里找到了答案:stackoverflow.com/questions/16877264/… 无论如何谢谢。

标签: c eclipse printf


【解决方案1】:

你需要一个newline character - printf("Type an intiger.\n");

在计算中,换行符,也称为换行符或换行符 (EOL) 标记或简单的中断,是一个特殊字符或序列 表示一行文本结束的字符。

整数的格式说明符也是%d

 scanf("%d", &a);
 printf("Square of that intiger is %d", a*a);

【讨论】:

  • 没问题,我希望我的程序执行以下操作:“键入一个整数”5“那个数字的平方是 25”但是现在我输入了 5,然后它合并为一个单输出“键入一个整数。该数字的平方是 25”
【解决方案2】:

如果您希望它在单独的行中,您可以随时在字符串中添加 '\n' 以获得新行。

#include <stdio.h>

int main (){
     int a;
     printf("Type an intiger.\n");
     scanf("%i", &a);
     printf("Square of that intiger is %i", a*a);
     return 0;
}

【讨论】:

  • 没问题,我希望我的程序执行以下操作:“键入一个整数”5“那个数字的平方是 25”但是现在我输入了 5,然后它合并为一个单输出“键入一个整数。该数字的平方是 25”
【解决方案3】:

其中有两个问题。首先,如果你输入整数,它应该是%d。示例:

scanf("%d", &a);

第二个,在输入之后,你应该打印\n。所以,它会像这样printf("\n");。看看我的代码:

#include <stdio.h>

int main (){
    int a;
    printf("Type an intiger.");
    scanf("%d", &a);
    printf("\nSquare of that intiger is %d", a*a);
    return 0;
}

【讨论】:

  • 没问题,我希望我的程序执行以下操作:“键入一个整数”5“那个数字的平方是 25”但是现在我输入 5,然后它合并为一个单输出“键入一个整数。该数字的平方是 25”
【解决方案4】:

在 code::blocks 中它编译得很好,在第一个 printf 的末尾放一个 \n 并用 %d 更改 %i

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 2019-12-18
    • 2011-12-01
    • 1970-01-01
    • 2015-10-25
    • 2022-07-06
    • 2018-11-05
    • 1970-01-01
    • 2015-01-30
    相关资源
    最近更新 更多