C语言,求任意两数相乘的积!

#include "stdio.h"
main()
{
float a,b,s;
printf("intput a,b\n");
scanf("%f\n,%f",&a,&b);
s=a*b;
printf("s=%f\n",&s);
system("pause");
}
运行的结果是零,请详细指导一下,我才刚学的哈~~~

#include <stdio.h>

void main()

{

    int a,b,c;

    printf("请输入a和b的值:");

    scanf("%d %d", &a, &b);

    c = a * b;

    printf("a*b = %d\n",c);

}

扩展资料:

C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。

结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。

而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03
首先分析你的第一个问题,第一个问题出现在“scanf("%f\n,%f",&a,&b)”,如果你这样抒写,那么在从键盘输入a与b的值时,你不能简单的用enter 来个开,你的输入方式就要变为先输入a,然后按一下enter,再输入一个逗号,再输入b的值。这才是正确的输入格式。如果不是这样那么就不能是a与b得到正确的赋值,而且可能提醒你输入错误。这点你可以把scanf()这节的输入格式看看。

第二个问题,出现在你的pirntf("s=%f\n",&s),这里的s前面不用加&地址符号,要不就是输出s内存的地址,如果你是输出它的内存地址,那么前面的%f的格式又不对咯。所以这里要把&这个地址运算符去掉!

学这个东西还是要细心,耐心,呵呵
我也是刚学,多多交流哦本回答被提问者采纳
第2个回答  2010-08-09
#include "stdio.h"
main()
{
float a,b,s;
printf("intput a,b\n");
scanf("%f\n,%f",&a,&b);
s=a*b;
printf("s=%f\n",&s);//这个地方写的输出的是S的地址当然是零了,改成printf("s=%f",s);//这样就好了
system("pause");
}
第3个回答  2010-08-09
printf("s=%f\n",&s);
改成
printf("s=%f\n", s);

&是取地址,scanf用,printf不用。
第4个回答  2010-08-09
scanf("%f\n,%f",&a,&b); 这里有问题
只要scanf("%f%f",&a,&b);
还有 printf("s=%f\n",s);