FrySnow 2019-10-15 16:40 采纳率: 50%
浏览 1036
已采纳

c语言新手,scanf函数输入数据总是显示0.0000000

#include
int main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d,%d",&a,&b);
scanf("%f,%f",&x,&y);
scanf("%c,%c",c1,c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c",a,b,x,y,c1,c2);
return 0;
}
就是如图的程序,我在输入数据后(3,7,70,80,A,B)后,除了a,b正常,x和y一直输出0.000000,而c1和c2一直是c1=,,c2=e
请问各位这是哪里出了问题啊?

  • 写回答

3条回答 默认 最新

  • 豆丷 2019-10-15 16:56
    关注

    逗号没匹配,前两个scanf中间没有逗号,而你输入了逗号,所以第二个scanf把逗号给了x,
    char类型没有使用&取地址

    int a, b;
        float x, y;
        char c1, c2;
        scanf("%d,%d,%f,%f,%c,%c", &a, &b, &x, &y, &c1, &c2);
    
        printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c", a, b, x, y, c1, c2);
        return 0;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?