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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用splice删除数组时,需要注意的地方
使用splice删除数组时,需要注意的地方// 创建两个数组 var a = [1,1,2,3,4,5,5,1,8]; var b = [1,3,5,4,1,6,4,6,5]; var newArr = a.concat(b) // 将a,b数组拼接在一起 // 检查数组里是否有相同的元素 for (var i = 0; i < newArr.length; i++){ f
Java实现-删除元素
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。 元素的顺序可以改变,并且对新的数组不会有影响。 您在真实的面试中是否遇到过这个题?  Yes 样例 给出一个数组 [0,4,4,0,0,2,4,4],和值 4 返回 4 并且4个元素的新数组为[0,0,0,2] public class Solution { /**
对java数组进行插入和删除比链表快很多(一)
java链表和数组性能比较
Java Spring 删除mongodb数组内置文档
Java Spring 删除mongodb数组内置文档
关于Recyclerview删除item后的数据乱跳问题
recyclerview的使用就不多说了简单使用自己看吧,很easy使用recyclerview,有很多炫酷的效果,比如item的插入,item的删除,item每个条目的加载动画,都可以自己去设置,当然也有默认的动画。需求逻辑: recyclerview列表里面有1 , 2,3,4四个item。现在通过点击item3(position =1)进入详情,在详情里面删除此条目,在返回到recy
插入删除,链表真的比数组快嘛?
今天看到吧友发了个帖子,叫 想编写优美的java代码格式要记住这几条规则 其中有一条,叫做 ArrayList底层是使用数组实现的,因此随机读取数据会比LinkedList快很多,而LinkedList是使用链表实现的,新增和删除数据的速度比ArrayList快不少。 这句话当然木有问题啦,在提出帖子标题的时候,楼主也想骂自己是逗比。不过想想,似乎在日常写代码的时候,伴随“新增和删除
js删除数组中某一项,splice()
var id = '3' var tagList = [{"parentTagId":"1","parentTagName":"学校","childTagId":"3","childTagName":"高中"}, {"parentTagId":"1","parentTagName":"学校","childTagId":"4","childTagName":"初中"}
c++实现数组的插入和删除
#include <iostream> using namespace std; void Print (int * arr,int len) { for(int i=0;i<len;i++)//用i控制地址arr的累加次数 cout<<*arr++<<' ';//*的优先级高 } void Remove(int * arr,int num,int len) { for
splice()方法删除数组中不连续的几项
1、正常情况下,用splice方法删除数组的某一项,完全可以 例如:         var arr=['内马尔','C罗','梅西','伊布','范佩西']; for(let i=0;i //只删除一项时:梅西 if(arr[i] == '梅西'){ arr.splice(i,1); } } console.log(arr); 2、那么问题来了:如果现在要删除‘内马尔’+
php中删除数组中的某一个unset和array_splice的区别
php中删除数组unset和array_splice的区别unset删除以后数组的索引值不会发生变化,array_splice会发生变化比如:$arry = array([0]=>'a', [1]=>'b', [2]=>'c', [3]=>'d'); $result1 = unset($arry[2]); $result2 = array_splice($arry[2]); //这时$result1