2 love honeies1 love_honeies1 于 2016.02.01 23:16 提问

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

#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;
}
}
}

3个回答

caozhy
caozhy   Ds   Rxr 2016.02.01 23:29
已采纳

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

scanf("%d", &c);

91program
91program   Ds   Rxr 2016.02.02 08:33

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

91program
91program 回复caozhy: 请不要跟屁虫好不?我的回复是否好,由提问来判断,而不是你。难道你真的认为你很牛!牛到可以判断一切的对错!!!
接近 2 年之前 回复
caozhy
caozhy 像这样的回答就很好,让lz知其然,知其所以然。同时建议lz学会调试程序
接近 2 年之前 回复
zhao_zhi
zhao_zhi   2016.02.02 13:13

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!