怎么用VISUAL C++ 6.0求二维数组的和?

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:54:52
我是C初学者,有这样一个问题:我用的是VISUAL C++ 6.0程序,求二维数组的和,程序如下,这个程序我用VISUAL C++ 6.0运行有错,用TC2.0运行就没错,不知为什么?

请各位帮帮忙,给个详细的答案,谢了!!

#include<stdio.h>
void main()
{
float a[2][3]={1.32,2.258,3.364,4.3258,5.2589,6.0214};
float i,j,b[3],c;
for(j=0;j<=2;j++)
{
for(c=0,i=0;i<=1;i++)
{c=c+a[i][j];
b[j]=c;
}
}
{for(j=0;j<=2;j++)
printf("%f ",b[j]);
}
}

程序主要有两处错误,改正后的程序如下,有两种改正方案
1)#include<stdio.h>
void main()
{
double a[2][3]={1.32,2.258,3.364,4.3258,5.2589,6.0214}; //c++中小数的默认数据类型使用double来表示的所以你用float数组来表示的时候会提示出现warning C4305: 'initializing' : truncation from 'double' to 'float'的警告
double b[3],c;
int i,j;//这里要注意数组下标必须要是整数
for(j=0;j<=2;j++)
{
for(c=0,i=0;i<=1;i++)
{c=c+a[i][j];
b[j]=c;
}
}
{for(j=0;j<=2;j++)
printf("%f ",b[j]);
}
}

2)#include<stdio.h>
void main()
{
float a[2][3]={1.32f,2.258f,3.364f,4.3258f,5.2589f,6.0214f}; //这里在数后面加f显式说明也可以
float b[3],c;
int i,j;//这同上
for(j=0;j<=2;j++)
{
for(c=0,i=0;i<=1;i++)
{c=c+a[i][j];
b[j]=c;
}
}
{for(j=0;j<=2;j++)
printf("%f ",b[j]);
}
}

#include<stdio.h>
void main()
{
float a[2][3]=