平方数

时间:2016-04-16 19:21:23

标签: c

这个程序应该输入一个数字及其平方值,然后告诉我是对还是错。我有一些问题,但我无法弄清楚它们是什么。

#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;
}

告诉我我的错误

1 个答案:

答案 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中查看原因。