该程序具有多个选项,例如。
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/

10-13 02:50