这个程序应该输入一个数字及其平方值,然后告诉我是对还是错。我有一些问题,但我无法弄清楚它们是什么。
#include <stdio.h>
#include <math.h>
int main()
{
float P;
float q;
float r;
printf("Enter the value of p\n");
scanf("%f",p);
q= p*p;
printf("Enter the square value of %f \n",p);
scanf("%f",r);
if (r = q){
printf("You are right\n");
}
else{
printf("you are wrong\n");
}
return 0;
}
告诉我我的错误
答案 0 :(得分:2)
请使用标记-Werror -Wall -Wextra
编译程序,尽管第一个错误始终是编译错误(拼写错误):将float P;
替换为float p;
,因为C区分大小写。
然后你需要将变量的地址传递给scanf
,这两行
scanf("%f",r);
...
scanf("%f",p);
应该是
scanf("%f",&r);
...
scanf("%f",&p);
最后,在使用
测试相等性时出现语法错误if (r = q)
但是这会更改r
并测试它是否为非0。使用整数类型时,您应该使用
if (r == q)
但是对于浮点类型,相等测试效果不好,请在this question中查看原因。