当前位置: 代码迷 >> C语言 >> [求助]初学者的一个问题,请各位解下惑
  详细解决方案

[求助]初学者的一个问题,请各位解下惑

热度:143   发布时间:2006-03-20 22:43:00.0
[求助]初学者的一个问题,请各位解下惑
一.在TC编译器中直接输入代码为何编译出来的程序运行会出错,代码为.

main()
{ float x,y,z,a;
scanf("%f,%f,%f",&x,&y,&z);
a=(x+y+z)/3;
printf("%f\n",a);
}

编译后,无论输入什么数字,结果都会出现 -NAN..

请各位大大解下疑惑..
搜索更多相关的解决方案: 解下惑  

----------------解决方案--------------------------------------------------------
不会啊,我这里都不是你说的那样,是不是编译器有问题哦
----------------解决方案--------------------------------------------------------
你是怎么输入的。
建设你先看一下x,y,z三个变量是否赋值成功
----------------解决方案--------------------------------------------------------
中间数据数据的时候要加 ,号
----------------解决方案--------------------------------------------------------
这样输入 2.0,3.0,4.0    回车
----------------解决方案--------------------------------------------------------
就是啊,看到了,答案不对
----------------解决方案--------------------------------------------------------
并没有错误
只是输入的时候 要记得 1,2,3 中间是有逗号的 你如果没有逗号 那么只取前一个数 并且根本程序执行不了那个 a=(x+y+z)/3;

这是有关输入格式的问题

下次要注意哦!
----------------解决方案--------------------------------------------------------

成功了...多谢版主的解答..
回三楼的,我是输入一个数字,然后按一下空格输入的,
困扰了我两天晚上的竟然这么简单...

还有一个问题,请问一下,程序为什么会在运行后会一闪而过,需要加什么代码才能让他一直停留着显示结果呢.
还有就是,能否能让这个程序不以逗号为间隔,改用空格为间隔输入三个数呢?


----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{ float x,y,z,a;
scanf("%f %f %f",&x,&y,&z);
a=(x+y+z)/3;
printf("%f\n",a);
}
输入的时候按这样的格式:6 6 6中间要有空格,按你的要有“,”

----------------解决方案--------------------------------------------------------
scanf("%f%f%f",&x,&y,&z); /*输入不加逗号*/


getch(); /*加程序尾,就不一闪而过了*/

----------------解决方案--------------------------------------------------------
  相关解决方案