当前位置: 代码迷 >> C语言 >> 这个程序为什么不能运行!!
  详细解决方案

这个程序为什么不能运行!!

热度:115   发布时间:2006-04-24 18:09:00.0

嘿嘿,我只知道把输入和输出的格式改成:"%d" 的形式就OK了.却不知道为什么?大家有知道为什么的吗?


----------------解决方案--------------------------------------------------------

错误在于你每次scanf输入的数系统不能正确识别
改成scanf("%f,",&a[i][j]);
然后每次输入数据以,结束
就可以运行
建议大家使用vc的调试功能,这种问题一般都能解决


----------------解决方案--------------------------------------------------------
这个在不同的系统中 有不同的结果啊   
----------------解决方案--------------------------------------------------------

嘿嘿!就是这样的?


----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<math.h>
void main()
{float a[4][5];
int i,j;
float *m,n;
m=&n;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<5;j++)
printf("%f",a[i][j]);
getch();


}
是没有连接浮点库了.


----------------解决方案--------------------------------------------------------
以下是引用疯狂VC在2006-4-17 9:41:00的发言:

不好意思啊
二楼的同志 是对的
我的错
但是我没明白为什么变成FLOAT型就不行了!

我看这位说的才是对的!~~
和什么类型无关!~


----------------解决方案--------------------------------------------------------

编译器不一样。
好一点的编译器不会出现这种问题。
但次一点的就需要有人工的连接浮点库。
比如先定义
float a;
int b;
先a=1.1;
后b=1;

先b=1;
后a=1.1
是不一样的。
后者运行期间就可以自动转换
但前者有的不可以。


----------------解决方案--------------------------------------------------------


#include<stdio.h>

main()
{
float a[4][5];
int i,j;

for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);

for(i=0;i<4;i++)
for(j=0;j<5;j++)
printf(" 5%f",a[i][j]);
}
注意格式
以增强可读性
新手尤其要记隹


----------------解决方案--------------------------------------------------------
scanf("%f",&a[i][j]);》??????????????????????/
不能用%f把 输入浮点数?? 没见过
改成%d试试
----------------解决方案--------------------------------------------------------

谢谢zhiqiang同志!!!!


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