好吧,伙计们,我有这么久的时间。目前我正在研究我的C类中的if语句(显然是编程的介绍),我似乎无法获得if else语句的语法正确。我浏览了网络,但没有找到任何相关的答案。我目前收到的错误是: | 47 |错误:预期')'在数字常量之前|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float p(float r, float v)
{
return (v*v)/(r);
}
int main()
{
float r, v, answer; //The user input and print for title of values
puts("Enter Voltage:");
scanf("%f", &r);
puts("Enter Resistance:");
scanf("%f", &v);
answer = p(v, r);
printf("Pd=%.9f\n", answer);
return 0;
scanf("%f", answer);
if (answer >= 0.25)
{
/* if condition is true then print the following */
printf("WARNING: Power Dissipation should not exceed 1/4 Watt\n" );
}
else if ((answer) 0.25 < =<0.5 > )
{
printf("WARNING: Power Dissipation should not exceed 1/2 Watt\n" );
}
scanf("%f", &answer);
if ((answer 0.5< & 1 >=< 1 )
printf("WARNING: Power Dissipation should not exceed 1 Watt" );
}
如果您有空闲时间,请提供帮助。
答案 0 :(得分:2)
你有很多语法错误:
((answer) 0.25 < =<0.5 >)
无效C.这可能是您的错误消息来自的地方。但是后来你也有了
((answer 0.5< & 1 >=< 1 )
这也是无效的C,而&
不 AND
运算符,&&
是。这些与if
语法无关,在您找到它们的任何地方都会出现无效的表达。
如果你详细说明你试图通过这些陈述完成的事情,这可能会有所帮助。但是,一般来说,在开始担心if
语句之前,您应该重新审核基本的C boolean expression syntax。
一旦你完成了这一点,C中if
语句的一般形式是:
if(int){statements;}
int
如果false
被视为0
,true
则为()
,如果它是其他任何内容(C缺少本机布尔类型)。放在{}
中的任何表达式都必须求值为整数或隐式转换为1。仅当表达式为true
时,才会评估{{1}}之间的语句。
答案 1 :(得分:1)
这个条件相当简单:
if (answer >= 0.25)
然而......这两个......
else if ((answer) 0.25 < =<0.5 > )
if ((answer 0.5< & 1 >=< 1 )
在这些情况下,你究竟想要测试什么?
我将(根据后面的印刷声明)假设您正在检查功率是否超过半瓦或全功率,在这种情况下,他们是类似于第一种情况:
if ( answer >= 0.5 )
if ( answer >= 1.0 )
sp你的代码将被构造为
if ( answer >= 0.25 )
printf( "Warning: power dissipation should not exceed 1/4 watt\n" );
else if ( answer >= 0.5 )
printf( "Warning: power dissipation should not exceed 1/2 watt\n" );
else if ( answer >= 1.0 )
printf( "Warning: power dissipation should not exceed 1 watt\n" );
...除
如果answer
大于或等于1.0,那么它也大于或等于0.5和0.25;当你可能希望打印超过1瓦的警告时,将采取第一个分支,打印超过四分之一瓦的警告。您可能希望颠倒测试的顺序,如下所示:
if ( answer >= 1.0 )
printf( "Warning: power dissipation should not exceed 1 watt\n" );
else if ( answer >= 0.5 )
printf( "Warning: power dissipation should not exceed 1/2 watt\n" );
else if ( answer >= 0.25 )
printf( "Warning: power dissipation should not exceed 1/4 watt\n" );
else
printf( "power dissipation does not exceed 1/4 watt\n" );
因此,如果answer
类似于0.75
,那么您将收到超过半瓦的警告;如果它是0.35,你会收到超过四分之一瓦的警告等。