C语言关于输入数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:02:31
#include<stdio.h>
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d,b=%d",&a,&b);
scanf("x=%f,y=%f",&x,&y);
getchar();
scanf("%c,%c",&c1,&c2);
printf("a=%d\nb=%d\nx=%f\ny=%f\nc1=%c\nc2=%f\n",a,b,x,y,c1,c2);
}

为什么我输完1,2之后,就出来结果了呢,而且输出数一个也对不上号

改成如下程序。。。注意scanf不是printf,用法不一样的
#include<stdio.h>
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d%d",&a,&b);
scanf("%f%f",&x,&y);
getchar();
scanf("%c%c",&c1,&c2);
printf("a=%d\nb=%d\nx=%f\ny=%f\nc1=%c\nc2=%f\n",a,b,x,y,c1,c2);
}

flushall()来清空scanf的缓存

那是你输入的格式不对,这是一个经常出问题的现象:
scanf("a=%d,b=%d",&a,&b);
这一句,你应该这样输入:a=1,b=2 这样问题就解决啦!
也可以不改变你自己的输入方法:
把上面一句改成:
scanf("%d,%d",&a,&b);
然后输入:1,2
这样也是可以的!

scanf 输入问题深着呢