基础C++ 关于scanf取%.2f的问题

 #include<stdio.h>

int main(void)
{   
    float c;
    int t,a=0,i;
     int r=5;

   **_  scanf("%f ",&c);        _**         //当我把%f换成%.2f则无输出结果,为什么
    scanf("%d",&t);
    i=t/5;

     for(a=1;a<=i;a++)
    {
     printf("time : %d, calorie : %.2f\n",a*r,a*r*c);
        }

    return 0;}

图片说明d/201709/24/1506258965_275502.png)

 %[*] [width] [{h | l | ll | I64 | L}]type

The format argument specifies the interpretation of the input and can contain one or more of the following: 

White-space characters: blank (' '); tab ('\t'); or newline ('\n'). A white-space character causes scanf to read, but not store, all consecutive white-space characters in the input up to the next non–white-space character. One white-space character in the format matches any number (including 0) and combination of white-space characters in the input.

Non–white-space characters, except for the percent sign (%). A non–white-space character causes scanf to read, but not store, a matching non–white-space character. If the next character in the input stream does not match, scanf terminates.

Format specifications, introduced by the percent sign (%). A format specification causes scanf to read and convert characters in the input into values of a specified type. The value is assigned to an argument in the argument list.



输出printf()函数才要格式对齐,输入要格式对齐干嘛?