【发布时间】:2019-12-14 07:31:57
【问题描述】:
我正在尝试制作一个包含 2 列和某行的二维数组。使用scanf输入的第一列是半径,第二列依赖于第一列是面积。
我已经尝试将它们排除在循环之外(手动输入),然后立即输出它们,但不知何故只有最后一个和第一个输入是正确的
#define circlecol 1
#define circlerow 1
int main() {
float circles[circlerow][circlecol];
for(int x = 0; x <= circlerow; x++) {
scanf("%f", &circles[x][0]);
circles[x][1] = 3.14*circles[x][0]*circles[x][0];
}`
输入 8 和 3 我希望这是输出
你的圈子: 8.000000 200.960000 3.000000 28.260000
但我得到了这个
你的圈子: 8.000000 0.000000 0.000000 28.260000
格式是
你的圈子:[0][0] [0][1] [1][0] [1][1]
【问题讨论】:
-
显示数组是如何声明的。
-
看来你需要使用下面的循环 for(int x = 0; x
-
什么输出?请在此处显示更多代码,以便我们查看完整图片。
-
@VladfromMoscow 已经编辑好了@tadman 我使用普通的二维数组输出
for(int i = 0; i <= circlerow; i++) { printf("\n"); for(int j = 0; j <= circlecol; j++ ) { printf("\t%f", circles[i][j]); } }