我的班级任务让我提示用户在一个输入行中输入四个变量char float int char。Scanf(“%c%f%d%c”)返回奇怪值
这里是整个代码:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <math.h>
int main(void){
char h = 'a';
char b, c, d, e;
int m, n, o;
float y, z, x;
short shrt = SHRT_MAX;
double inf = HUGE_VAL;
printf("Program: Data Exercises\n");
printf("%c\n", h);
printf("%d\n", h);
printf("%d\n", shrt);
printf("%f\n", inf);
printf("Enter char int char float: ");
scanf("%c %d %c %f", &b, &m, &c, &y);
printf("You entered: '%c' %d '%c' %.3f \n", b, m, c, y);
这部分代码在这里,我遇到的问题。
printf("Enter char float int char: ");
scanf("%c %f %d %c", &d, &z, &n, &e);
printf("You entered: '%c' %f %d '%c' \n", d, z, n, e);
这部分工作,如果我隔离上述部分。
printf("Enter an integer value: ");
scanf("%d", &o);
printf("You entered: %15.15d \n", o);
printf("Enter a float value: ");
scanf("%f", &x);
printf("You entered: %15.2f \n", x);
return 0;
}
看到,因为我不能由于没有足够高的代表发表图片,我会在运行程序时提供一个链接到控制台的屏幕盖。
我真的很感激,如果有人可以给我为什么程序无法正常工作解释。提前致谢。
我编译并运行你的代码,它的工作原理(MSVC)。但我注意到问题陈述和代码之间的类型顺序是不同的。我在一行中输入了所有的值:'输入char int char float:a 1 b 42.9' – 2015-04-04 19:51:25