首页 > 解决方案 > 我的第二个 scanf 不工作 - 我该怎么办?

问题描述

scanf在这段代码中的第二个不起作用,计算机不会等待我输入第二个值。

我知道当它发生时只需要在 但不能让它工作%c之前放一个空格%%f

#include <stdlib.h>
#include <stdio.h>

main()
{
    float a, p;
    printf("Insira seu peso: "); scanf("%.1f", &p);
    printf("Insira sua altura: "); scanf("%.2f", &a);
}

标签: cscanfclion

解决方案


.不是scanf()函数族中的有效格式标志字符。这些格式与格式printf()系列有关(这不是偶然的),但它们远非相同。

每个转换规范都由字符 ' %' ... 引入,之后依次出现以下内容:

  • 一个可选的赋值抑制字符' *'。

  • 一个可选的非零十进制整数,指定最大字段宽度。

  • [CX] ⌦ 一个可选的赋值分配字符' m'。⌫</p>

  • 一个选项长度修饰符,指定接收对象的大小。

  • 一个转换说明符字符,它指定要应用的转换类型。有效的转换说明符如下所述。

里面没提.


推荐阅读