有关输入输出问题。
输入为:12a↙
b↙
运行结果为:1,2,a,b,123.300000,65535
请改正程序中的错误,使它能得出正确的结果。
#include <stdio.h>
main()
{
int b;
unsigned short a = 65535;
short k = a;
char c, d;
int f, g;
b = (1234.0 - 1) / 10;
scanf("%c", &c);
scanf("%c", &d);
scanf("%d", &f);
scanf("%d", &g);
printf("%c,%c,%c,%c,%f,%d", c, d , f, g, b, k);
}
本题主要是字符格式不对
答案如下:
//
#include <stdio.h>
int main()
{
double b;
unsigned short a = 65535;
unsigned short k = a;
char c, d;
char f, g;
b = (1234.0 - 1) / 10;
scanf("%c%c%c", &c,&d,&f);
getchar(); //学校系统有问题 如果直接通过不了可以写两个getchar()但逻辑上来说只需要一个
//getchar();
scanf("%c", &g);//c=1,b=2,f=a
printf("%c,%c,%c,%c,%lf,%d", c, d , f, g, b, k);
}
c语言练习