繁体   English   中英

数组操作面临插入后和执行一次操作循环退出后数组大小发生变化的问题

[英]array operations facing problem with change in size of array after insertion and after performing one operation loop exit

***头文件***请帮我找出为什么我的代码在我的指令之前退出的错误
#include <stdio.h> #include <stdlib.h> #include <conio.h>

展示

为什么在遍历数组元素时没有数组元素没有改变所有初始元素都只打印

 int display_array(int arr[], int n) { int i; for (i = 0; i < n; i++) { printf("arr[%d] = %d\\n", i, arr[i]); } return 0; }

插入

 int insert_position(int arr[], int n) { int i = 0, pos, num; printf("Enter the number to be inserted:\\n"); scanf("%d", &num); printf("enter the pposition at which the number is to be inserted:\\n"); scanf("%d", &pos); for (i = n - 1; i >= pos; i++) { arr[i + 1] = arr[i]; } arr[pos] = num; n = n + 1; return 0; }

删除

 int delete_position(int arr[], int n) { int i = 0, pos; printf("Enter the position from which the number has to be deleted:\\n"); scanf("%d", &pos); for (i = pos; i < n - 1; i++) { arr[i] = arr[i + 1]; } n = n - 1; return 0; }

驱动程序

我认为您将这些函数中的这些参数作为按值传递,而不是按引用传递 这就是为什么每次调用它们时都会打印初始值。 您可以使用指针,也可以使用全局变量来获得所需的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM