数组的运用,删除数组为什么删除不了?

#include "stdio.h"
int data[100];
int n=0;

void main()
{
int c;
while(1)
{
printf("1: add number\n");
printf("2: delete number\n");
printf("3: print\n");
printf("0: exit\n");
c=scanf("%d", &c);
switch (c)
{
case 0: return;
case 1:
int i;
scanf("%d", &i);
data[n++]=i;
break;
case 2:
n--;
break;
case 3:
for(i=0;i<n;i++)
printf("%d ",data[i]);
printf("\n");
break;
}
}
}

c=scanf("%d", &c);
这么写,c永远是1了。

scanf("%d", &c);

建议你使用 printf,将输入后 c 的数值输出,这样你就可以找到问题的原因:c 的数值是多少,一目了然。

在”c=scanf("%d", &c);“处设个断点,单步debu即可,