我发现void main
不正确,但即使我将其更改为int
或将其删除,
我没有得到我认为哪个是X的值,给定方程ax + b = 0的A和B值,而我得到的都是零。
我该如何解决这个问题?
void main()
{
float a,b,x=0;
printf("\n Write the values for A and B");
scanf("&%F&%F",&a,&b);
if(a==0)printf("\n Not a valid operation");
else{x=-b/a;
printf("\n Answer is x=%f",x);
}
}
答案 0 :(得分:1)
您使用格式说明符来阅读a
和b
似乎很奇怪。不确定你是否打算在那里&
。在http://en.cppreference.com/w/cpp/io/c/fscanf查看有效格式说明符的详细信息。
尝试:
scanf("%f%f",&a,&b);
&
不是格式说明符。当你使用
scanf("&%F&%F",&a,&b);
scanf
需要输入流中的字符&
。
答案 1 :(得分:0)
尝试
scanf("%f%f",&a,&b);
而不是
scanf("&%F&%F",&a,&b);