%s %c 空格 遇见如何选择


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int main()
{
    int n;
    scanf("%d",&n);
    //getchar();
    while(n--)
    {
        char c[2];
        double h;
        scanf("%s %lf",c,&h);   //此处为什么用%c不行
        if(c[0]=='M')
        {
            //double x=h*1.09;
            printf("%.2f\n",h/1.09);
        }
        else if(c[0]=='F')
        {
            printf("%.2f\n",h*1.09);
        }
    }
    return 0;
}

__

我试了一下可以的

img

可能是你这个ASCII码不是很了解,我算了一下值也是对的,数字在你用%c输入的时候首先得是ASCII中有的数字才行,然后再运算的时候,数字首先转化成对应的ASCII码值,然后计算

img

3对应51然后5对应53,然后你再计算一下

如果想要%c的话试试这样: scanf("%c”,&c[0]);