【发布时间】:2021-11-13 12:40:37
【问题描述】:
我试图在从用户那里获取数组后显示它的值
#include <stdio.h>
#define MAXSIZE 3
void main (void)
{
int data[MAXSIZE];
int n ,i ;
for (i = 0;i < MAXSIZE ;i++ )
{
printf("Enter array [%d]: ",i+1);
scanf("%d",&data[n]);
}
printf("data before sort\n");
printf("===================\n");
for (i = 0; i < MAXSIZE ;i++ )
printf("Value[%d]:%d\n",i+1,data[n]);
}
输入:
输入数组[1]:3
输入数组[2]:2
输入数组[3]:1
输出:
排序前的数据
====================
值[1]:1
值[2]:1
值[3]:1
我想显示数据输入的数据,但它显示了最后输入的值
在这种情况下是 1
【问题讨论】:
-
data[n]->data[i] -
n到底应该用来做什么?只需将其删除。 -
如果启用编译器警告,另一个新手错误很容易避免:
error: variable 'n' is uninitialized when used here [-Werror,-Wuninitialized]。
标签: arrays c sorting data-structures