#include <stdio.h>int main(){ int a; char ch; double b=1.23; printf("请输入一个整数,一个字符,一个小数\n"); scanf("%d%c%lf",&a,&ch,&b); printf("你输入的是%d,%c,%lf\n",a,ch,b); return 0;}
这个是结果
我每输入一个数据就一个空格,因为第二个是字符数据输入,所谓输完'5'后按空格程序就读取了那个空格输入,所谓结果中a就变成了空格,b原样输出。
然后改成下面这个样子:
#include <stdio.h>int main(){ int a; char ch; double b=1.23; int num=0;
printf("请输入一个整数,一个字符,一个小数\n"); num=scanf("%d%c%lf",&a,&ch,&b); printf("你输入的是%d,%c,%lf\n",a,ch,b); printf("%d被替换.\n",num); return 0;}
加了 int num=0;和printf("%d被替换.\n",num);
之前scanf("%d%c%lf",&a,&ch,&b);改成了num=scanf("%d%c%lf",&a,&ch,&b);
结果就可以读出那个a被空格替换了,求原因?
一只名叫tom的猫
芜湖不芜