C语言问题(代码哪错了:error c2086 : 'i' : redefinition)

#include<stdio.h>intmain(){inta[50],r,i,*p,i,k,m;p=a;printf("请输入人数:");scanf("%d",&r);... # include <stdio.h>
int main ()
{
int a[50],r,i,*p,i,k,m;
p = a;
printf("请输入人数:");
scanf("%d",&r);
for (i = 0;i < r;i++)
{
p[i] = i + 1;
}
i = 0;
k = 0;
m = 0;
while (m < r - 1)
{
if (p[i] != 0)
k++;
if (p[i] == 3)
{
p[i] = 0;
k = 0;
m++;
}
i++;
if (i == r)
i = 0;
}
while (*p != 0)
p++;
printf("最后一个人的序号为:%d\n",*p);
return 0;
}
展开
 我来答
Monubia
2015-06-18 · TA获得超过8961个赞
知道大有可为答主
回答量:4373
采纳率:75%
帮助的人:1323万
展开全部

亲,你这个错误是重复定义了i

# include <stdio.h>
int main ()
{
int a[50],r,*p,i,k,m;//你的是int a[50],r,i,*p,i,k,m;
p = a;
printf("请输入人数:");
scanf("%d",&r);
for (i = 0;i < r;i++)
{
p[i] = i + 1;
}
i = 0;
k = 0;
m = 0;
while (m < r - 1)
{
if (p[i] != 0)
k++;
if (p[i] == 3)
{
p[i] = 0;
k = 0;
m++;
}
i++;
if (i == r)
i = 0;
}
while (*p != 0)
p++;
printf("最后一个人的序号为:%d\n",*p);
return 0;
}


希望能帮到你,求采纳

wchyumo2011
2015-06-18 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2812万
展开全部

main下面定义变量那一行int ...出现了两个i,删除一个就好了:

# include <stdio.h>
int main ()
{
int a[50],r,i,*p,k,m;////////////////////
p = a;
printf("请输入人数:");
scanf("%d",&r);
for (i = 0;i < r;i++)
{
p[i] = i + 1;
}
i = 0;
k = 0;
m = 0;
while (m < r - 1)
{
if (p[i] != 0)
k++;
if (p[i] == 3)
{
p[i] = 0;
k = 0;
m++;
}
i++;
if (i == r)
i = 0;
}
while (*p != 0)
p++;
printf("最后一个人的序号为:%d\n",*p);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悠久纤尘
2015-06-18 · TA获得超过191个赞
知道小有建树答主
回答量:160
采纳率:66%
帮助的人:108万
展开全部
i定义了2次。你写了两个i。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式