本人初学C遇到了困难求帮忙
#include <stdio.h>int main(void)
{
float a=3.5f;
float b=5.5f;
short c=0;
short d=0;
float e=0.0f;
printf("请输入要买的版本,a是标准版3.5一个,b是豪华版5.5一个\n请输入要买a版本的数量:");
scanf("%f,&c");
printf("请输入要买的b版本的数量:");
scanf("%f",&d);
e=a*c+b*d;
printf("一共的价钱是%.2f元\n",e);
return 0;
}
这个就是一个很简单的程序,在本人看来没有错误可是为什么到最后显示的却是0.00不应该是e的值吗?
求解
:cry有人吗?求解 首先,这句写错了
scanf("%f,&c");
为何 本帖最后由 1148908872 于 2014-8-16 07:08 编辑
哦,修改了还是一样啊 #include <stdio.h>
int main(void)
{
float a=3.5f;
float b=5.5f;
int c=0;
int d=0;
float e=0.0f;
printf("请输入要买的版本,a是标准版3.5一个,b是豪华版5.5一个\n请输入要买a版本的数量:");
scanf("%d",&c);
printf("请输入要买的b版本的数量:");
scanf("%d",&d);
e=a*c+b*d;
printf("一共的价钱是%.2f元\n",e);
return 0;
} jialebihaidai 发表于 2014-8-16 07:11
#include
int main(void)
{
用Int不行吗? 1148908872 发表于 2014-8-16 07:17
用Int不行吗?
你用的是short吧,红字是我已经修改过的 jialebihaidai 发表于 2014-8-16 07:19
你用的是short吧
看错了,谢谢了 1148908872 发表于 2014-8-16 07:06
为何
用short的话,在给d赋值后c会变成0,原因我也不知道。坐等大神吧 在想问一下这里用short和int不都一样吗?short和int相比不是short占的字节更少吗? 1148908872 发表于 2014-8-16 07:24
在想问一下这里用short和int不都一样吗?short和int相比不是short占的字节更少吗?
scanf("%hd", c);scanf("%hd", d);
这样用就对了。
%d开辟的内存比short要大 #include <stdio.h>
int main(void)
{
float a=3.5f;
float b=5.5f;
short c=0;
short d=0;
float e=0.0f;
printf("请输入要买的版本,a是标准版3.5一个,b是豪华版5.5一个\n请输入要买a版本的数量:");
scanf("%d",&c);
printf("请输入要买的b版本的数量:");
scanf("%d",&d);
e=a*c+b*d;
printf("一共的价钱是%.2f元\n",e);
return 0;
}
这样就可以过了呀....:lol: 本帖最后由 jialebihaidai 于 2014-8-16 15:38 编辑
xubin2004198 发表于 2014-8-16 15:36
好吧,这个因环境而异 懂了 我还有什么问题,我还会来的 这样真的对吗?0*任何数都等0吧:lol::lol: 我错了没看清楚:ton::ton:
页:
[1]