求看看!自己搞不明白,输出的身高不是我输入的数

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int h;
    char s;
    printf("\n input sex and hight \n");
    scanf("%c%d",&s,&h);
    printf("\n字符:%c,身高:%d\n",s,h);
    if(s==-60 && h>=168) 
    {
        printf("\nthe boy good!\n");
    }
    else if (s==-59&&h>=158) 
    {
            printf("\nthe girl good!\n");
    }
    else 
    {
            printf("\nno pass!\n");
    }
    return 0;
}
 

使用字符数组:

#include "stdio.h"
int main(void)
{
    char s[10];
    int h;
    scanf("%s %d", &s,&h);
    printf("%s %d", s,h);
    return 0;
}

如果对你有帮助,记得点采纳。 

你的输入内容是什么,截图看看。

1,scanf函数里改成这样scanf("%c %d",&s,&h); %c和%d之间加一个空格,2,输入的时候用 "m 160"这种形式,m和160之间也用一个空格。3,性别不能用汉字