c语言for循环输入数组问题
intmain(){inti;intl;printf("请输入你要删除的数(6位):\n",n);inta[5];for(l=0;l<n;l++)scanf("%d",&...
int main()
{
int i;
int l;
printf("请输入你要删除的数(6位):\n",n);
int a[5];
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
shanshu(a);
int kk=k;
printf("删除%d位后的最小数是:\n",kk);
show(a);
system("pause");
return 0;
}
定义了n=6,这是部分代码,其他的函数没给出来,每次运行输入六位数字后回车没有反应,可以无限回车下去,请问哪里出问题了? 展开
{
int i;
int l;
printf("请输入你要删除的数(6位):\n",n);
int a[5];
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
shanshu(a);
int kk=k;
printf("删除%d位后的最小数是:\n",kk);
show(a);
system("pause");
return 0;
}
定义了n=6,这是部分代码,其他的函数没给出来,每次运行输入六位数字后回车没有反应,可以无限回车下去,请问哪里出问题了? 展开
展开全部
int a[5];//开辟的空间只有5个,容纳不下6个int型数字,导致数组下票越界,
这样的话,程序就跑飞了,出什么异常都可能的。
这样的话,程序就跑飞了,出什么异常都可能的。
追问
改成6还是这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a[5];这个数组只能存五个数而注释说定义了n=6
printf("请输入你要删除的数(6位):\n",n); n放在这儿不明白是什么意思
这是个小程序,希望能帮到你
int main()
{
int i,n;
int l;
int a[6];
printf("please input(6): \n");
for(l=0;l<6;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
printf("请输入你要删除的数(6位):\n",n); n放在这儿不明白是什么意思
这是个小程序,希望能帮到你
int main()
{
int i,n;
int l;
int a[6];
printf("please input(6): \n");
for(l=0;l<6;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<6;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你哪定义了n = 6啊,我怎么没看到啊?
另外a[5] 只有5个元素啊,你输入6个会引起内存错误的
下面的没问题
int main()
{
int n = 6;
int i;
int l;
printf("请输入你要删除的数(6位):\n",n);
int a[6];
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
}
另外a[5] 只有5个元素啊,你输入6个会引起内存错误的
下面的没问题
int main()
{
int n = 6;
int i;
int l;
printf("请输入你要删除的数(6位):\n",n);
int a[6];
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我认为jzp1说的对,如果你确认开辟的数组空间也是6,shanshu(a);调用之前的语句肯定是没有问题的, 错误可能是出在shanshu(a);以及以后的代码中,建议书你把代码都贴上来看一下,大伙帮你看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
n=6
你这样测试下:
#include <stdio.h>
#include <stdlib.h>
#define n 6
void shanshu(int a[])
{
}
void show(int a[])
{
}
int k=1;
int main()
{
int i;
int l;
int kk;
int a[6];
printf("请输入你要删除的数(6位):\n",n);
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
shanshu(a);
kk=k;
printf("删除%d位后的最小数是:\n",kk);
show(a);
system("pause");
return 0;
}
你这样测试下:
#include <stdio.h>
#include <stdlib.h>
#define n 6
void shanshu(int a[])
{
}
void show(int a[])
{
}
int k=1;
int main()
{
int i;
int l;
int kk;
int a[6];
printf("请输入你要删除的数(6位):\n",n);
for(l=0;l<n;l++)
scanf("%d",&a[l]);
printf("a=");
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
shanshu(a);
kk=k;
printf("删除%d位后的最小数是:\n",kk);
show(a);
system("pause");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询