如何解决插入和执行一个操作循环退出后,数组操作面临数组大小更改的问题
***头文件*** 请帮助我找出错误,为什么我的代码在我的指令前退出
#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[],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;
}
驱动程序
解决方法
我认为您在这些函数中将这些参数作为按值传递,而不是按引用传递。这就是为什么每次调用初始值时都会打印它们。 您可以使用指针,也可以使用全局变量来获得所需的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。