回 帖 发 新 帖 刷新版面

主题:我错在哪儿呢?

main()
{ float x,y,z,a;
  scanf("7,8,9",&x,&y,&z);
  a=(x+y+z)/3;
  printf("%f\n",a);
}
在C++里怎么运行不结果呢?
我错在哪儿呢?

回复列表 (共4个回复)

沙发

这是你从书上抄的不,你的语法用错了.
在我看来你的代码可以这样写
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);
}
 

板凳

楼上说的很对,我也是初学者, scanf是要求用户从键盘上输入字符的, 它的式子应该是 scanf("字符类型",&字符代表)

3 楼

感觉2楼的数据类型不需要改,原来的float定义就挺好的,因为a=(x+y+z)/3很有可能得到不是整数,故不应该用int来定义数据类型;至于scanf的确是需要输入。

4 楼

说错了,是1楼,和以前逛的论坛有点不一致,抱歉,呵呵

我来回复

您尚未登录,请登录后再回复。点此登录或注册