编译以上程序时,编译器提示错误:scanf:floating point formats not linked。查看相关资料,说是编译器版本太低的缘故。于是将VC6.0里的CL.EXE以及相关文件组合成一个小型的编译器,重新编译发现没有报错, 看来真是编译器的问题。
因为低版本的编译器默认不连接浮点格式转换,所以二维及高维浮点型数组都会出现同样的问题。要解决这个问题,除了更换编译器外,还可以使用一个小技巧。定义float型变量temp,输入由这个变量做桥梁,如scanf("%f",&temp);
a[i][j]=temp;
原来的程序使用了double型数组,结果输出结果为0。原来scanf函数的格式字符需要改为%lf,才能正确识别double型变量。但是printf函数却能正常工作,为了杜绝隐患,还是与scanf函数保持一直好了。