C语言编程,用for循环和scanf输入数组,一点回车电脑就报错(只能输两行),求高手指点。

 我来答
心心星亮
2010-12-14 · 超过15用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
楼上的人虽然都很热心,可惜他们的代码要么是都没有经过测试就写上来,要么是牛头不对马嘴的乱贴代码上来。
你没贴代码上来,从你说的情况看来,你的问题出现在scanf函数上,这个函数你一定要小心使用,举个例子:
int a;
scanf("%d", &a); //后面一定是&a,不能是a,&a代表a的内存地址,scanf要求输入数据是存入a的内存地址。
对于数组也一样,比如一个10个元素的数组,你要从键盘输入。你可以这样:
int a[10];
int i;
for(i = 0; i < 10; ++i)
{
scanf("%d", &a[i]) //这里也可以写a + i但是从风格上说,不推荐这种不直观的风格
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ChiyOf1990
2010-12-13 · 超过25用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:53万
展开全部
1.首先你有没有写 #include<stdio.h>在开头?
2.你在键盘的输入是否和你的参数一致?
3. 下面的细节是否有注意到?scanf()中的变量必须使用地址。scanf()的格式控制串可以使用其它非空白字符,但在输入时必须输入这些字符。在用"%c"输入时,空格和“转义字符”均作为有效字符。
4.例子
.#include <stdio.h>
void main() {
int i;
for(i = 0;i < 10;i++) {
scanf(" %c",a[i]); }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mpijdr
2010-12-14 · TA获得超过610个赞
知道小有建树答主
回答量:449
采纳率:100%
帮助的人:310万
展开全部
#include <stdio.h>
#define N 100
void main()
{
int i,k,m,n,num[N],*p;
printf("请输入人数.\n");
scanf("%d",&n);
if(n>0&&n<=32767)
{
p=num;
for (i=0;i<n;i++) *(p+i)=i+1;//从1到n为每个人编号
i=0; //i为每次循环时的计数变量
k=0; //k为123报数时代计数变量
m=0; //m为退出的人数
while(m<n-1) //退出的人数比n-1少时做循环
{
if(*(p+i)!=0) k++;
if (k==3) //退出的人都值变为0
{
*(p+i)=0;
k=0;
m++;
}
i++;
if(i==n) i=0; //报道尾后i恢复为0
}
while (*p==0) p++;
printf("%d\n",*p);
}
else printf("输入错误\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
labikkkk
2010-12-13 · TA获得超过383个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:201万
展开全部
把代码贴出来看看。给你一个能输入的 例子。
for(i=0;i<5;i++)
{scanf("%d ",a[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1601b749d
2010-12-13 · 超过10用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:27.9万
展开全部
你总要把代码贴上来把
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式