如何解决在C中将变量乘以常量后,为什么会出现“预期表达式”错误?
我的代码如下。当我用“ newtons * 4.448”替换第23行时,它可以正常工作,但是当我按原样运行代码时,我在第23行遇到2错误:“期望表达式”和“语法错误:'='”。我可以解决这个问题吗?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define NEWTONS_IN_POUNDS = 4.448;
int main(void) {
double newtons;
double pounds;
printf("Enter Newtons: ");
scanf("%lf",&newtons);
pounds = newtons * NEWTONS_IN_POUNDS;
printf("%.2f",pounds);
system("PAUSE");
return 0;
}
解决方法
您的#define
无效,而不是
#define NEWTONS_IN_POUNDS = 4.448;
做
#define NEWTONS_IN_POUNDS 4.448
,
#define
d常量不是实数变量,它们只是文本替换。您拥有的=
和;
是多余的(即-错误)。丢掉它们,你会没事的:
#define NEWTONS_IN_POUNDS 4.448
/* Here -----------------^-----^ */
,
在#define NEWTONS_IN_POUNDS = 4.448;
中使用等号很有可能导致此问题。尝试删除该语句中的等号和分号,它将解决此问题。使用#define
定义变量不同于通常定义变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。