我有一个 C 作业,我必须创建一个小程序来计算一些东西。我唯一遇到的问题是,根据所述分配,我需要让用户使用 scanf 函数将 x 声明为 1.825*10^2 。然而,当这样做时,我的程序就会退出。
这是我的代码的相关部分
#include <stdio.h>
#include <math.h>
// VARIANT 2
int main()
{
float x, y, z, ans1, ans2, answer;
printf("Declare x:\n");
scanf("%f", &x);
printf("Declare y:\n");
scanf("%f", &y);
printf("Declare z:\n");
scanf("%f", &z);
printf("%f %f %f \n", x,y,z);
}
我在终端中将 X 声明为 1.825*pow(10,2)。我的猜测是 scanf 不允许/读取表达式 - 但赋值很明确,我需要通过 scanf 声明 X。
首先,你所描述的不是“声明”
x
。 您正在描述读取 x
的值。
%f
的 scanf
格式说明符期望读取浮点常量,而字符串 1.825*pow(10,2)
不是这样的常量。
指定此类值的方式是
1.825e2
。