C 语言中将表达式赋值给变量

问题描述 投票:0回答:1

我有一个 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。

c
1个回答
0
投票

首先,你所描述的不是“声明”

x
。 您正在描述读取
x
的值。

%f
scanf
格式说明符期望读取浮点常量,而字符串
1.825*pow(10,2)
不是这样的常量。

指定此类值的方式是

1.825e2

© www.soinside.com 2019 - 2024. All rights reserved.