主题:我错在哪儿呢?
lijiaren
[专家分:0] 发布于 2007-07-24 19:04:00
main()
{ float x,y,z,a;
scanf("7,8,9",&x,&y,&z);
a=(x+y+z)/3;
printf("%f\n",a);
}
在C++里怎么运行不结果呢?
我错在哪儿呢?
回复列表 (共4个回复)
沙发
workhow [专家分:810] 发布于 2007-07-24 23:47:00
这是你从书上抄的不,你的语法用错了.
在我看来你的代码可以这样写
main()
{
int x,y,z,a;
scanf("%d,%d,%d",&x,&y,&z);
a=(x+y+z)/3;
printf("%d\n",a);
}
scanf是等用户输入的意思,不能提前放值上去的,只能放相应的数据类型符号来定义,再说7,8,9是整数,我换个改写的例子
main()
{
int x=7,y=8,z=9;a=3
a=(x+y+z)/3;
printf("%d\n",a);
}
板凳
linjinghui [专家分:0] 发布于 2007-07-30 11:39:00
楼上说的很对,我也是初学者, scanf是要求用户从键盘上输入字符的, 它的式子应该是 scanf("字符类型",&字符代表)
3 楼
倚阑听风 [专家分:0] 发布于 2007-07-30 15:00:00
感觉2楼的数据类型不需要改,原来的float定义就挺好的,因为a=(x+y+z)/3很有可能得到不是整数,故不应该用int来定义数据类型;至于scanf的确是需要输入。
4 楼
倚阑听风 [专家分:0] 发布于 2007-07-30 15:00:00
说错了,是1楼,和以前逛的论坛有点不一致,抱歉,呵呵
我来回复