C语言数组中删除给定下标的元素,哪里不对?该怎么改?谢了!!
#include<stdio.h>intmain(){inta[10]={0,1,2,3,4,5,6,7,8,9};inti,j;intmdele(int*p,intn,...
#include<stdio.h>
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
int mdele(int *p,int n,int j);
printf("Enter j:");
scanf("%d",&j);
mdele(a,int n,j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
}
mdele(int *p,int n,int j)
{
for(n=j;n<=9;n++)
p[n]=p[n+1];
} 展开
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
int mdele(int *p,int n,int j);
printf("Enter j:");
scanf("%d",&j);
mdele(a,int n,j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
}
mdele(int *p,int n,int j)
{
for(n=j;n<=9;n++)
p[n]=p[n+1];
} 展开
3个回答
展开全部
C语言数组 不能直接删除元素,只能清零
int mdele(int *p,int n,int j);
int main()
{
int mdele(int *p,int n,int j);
int main()
{
更多追问追答
追问
什么意思?我看不懂呢?应该怎么改啊?谢谢了!!
追答
我想问下 这个做什么用?没有理解清除数组元素的目的?
或者这么说 想把一个10个元素的数组变成 9个8个。。。,还是想把这个数组里边的数清零?
#include
int mdele(int *p,int j);
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
printf("Enter j:");
scanf("%d",&j);
mdele(a,j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
return 0;
}
mdele(int *p,int j)
{
int n;
for(n=j;n<=9;n++)
p[n]=p[n+1];
} //研究了半天 改成现在的样子。。。
经过调试这个结果最接近你的要求。。。 总感觉这样操作数组没什么意义。。。
展开全部
#include<stdio.h>
void mdele(int *p,int j);
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
printf("Enter j:");
scanf("%d",&j);
//if()
mdele(a, j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
return 0; //因为是int main() 需要返回一个整形
}
void mdele(int *p,int j) //没有参数返回 前边加void
{
int n=0;
for(n=j;n<=9;n++)
p[n]=p[n+1];
}
简单改了一些细节 我压根都看不懂你的程序有什么意思,函数中的n没有意义我去掉了, 想删除元素的话 如上边所说 C语言数组 元素清零当作删除把 你的子函数对输出毫无关系
void mdele(int *p,int j);
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
printf("Enter j:");
scanf("%d",&j);
//if()
mdele(a, j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
return 0; //因为是int main() 需要返回一个整形
}
void mdele(int *p,int j) //没有参数返回 前边加void
{
int n=0;
for(n=j;n<=9;n++)
p[n]=p[n+1];
}
简单改了一些细节 我压根都看不懂你的程序有什么意思,函数中的n没有意义我去掉了, 想删除元素的话 如上边所说 C语言数组 元素清零当作删除把 你的子函数对输出毫无关系
追问
运行结果正确,是我想要的结果!但是课本题目中要调用的函数是这样的 mdele(int *p,int n,int j)
怎么改成里面三个参数啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
int mdele(int *p,int n,int j);
printf("Enter j:");
scanf("%d",&j);
mdele(a,int n,int j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
}
mdele(int *p,int n,int j)
{
for(n=j;n<=9;n++)
p[n]=p[n+1];
}
int main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,j;
int mdele(int *p,int n,int j);
printf("Enter j:");
scanf("%d",&j);
mdele(a,int n,int j);
for(i=0;i<=8;i++)
printf("%d",a[i]);
}
mdele(int *p,int n,int j)
{
for(n=j;n<=9;n++)
p[n]=p[n+1];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询