该程序具有多个选项,例如。
1.添加元素到数组
2.搜索元素
3.删除元素
我只显示一种情况,其他情况则无关紧要。这里的1'st循环对于所有选项都适用,但是对于第二次迭代,我无法添加新元素,它始终显示“元素添加成功”
int k = 0, found = 0;
//k counts the total elements in the list
while(1){
switch (choice)
{
case 1 :
printf("Enter the number : ");
scanf("%d", &num);
for(i=0; i<=k; i++){
if(num == number[i]){
found=1;
printf("Element already added. Please try again\n");
break;
}
}
if(found == 0){
number[k]=num;
k = k+1;
printf("Element added successfully\n");
found = 0;
}
break;
}
}
最佳答案
添加第一个元素后,您的found
始终为1
。在下一次迭代之前将found
重置为0
。
关于c - 使用循环和switch语句进行一维数组操作迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44026698/