求助高手,一个C语言问题 20

main(){inta[10],i;printf("%d",&i);for(i=1;i<=10;i++){a[i]=0;printf("%d",a[i]);}}我用的是T... main()
{
int a[10],i;
printf("%d",&i);
for(i=1;i<=10;i++){
a[i]=0;
printf("%d",a[i]);
}
}

我用的是TC2.0...这个程序在理论上,如果没有printf("%d",&i)这一句应该进入一个死循环,可是实际上如果没有这个语句就无法进入死循环,有了才进入死循环,请问这是为什么...
期待高手来解决

强调一下,我这里使用的TC2.0~

该程序绝对能进入死循环,并且有输出

我就想知道为什么没有printf("%d",&i)就无法进入死循环了

- -继续期待高人
展开
 我来答
阳光上的桥
2006-11-28 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65810
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你的语句无法进入死循环的,肯定是只能循环10次,for语句开始的时候,会给i赋初值1,每次增加1,直到大于10了才结束循环。

此外,你for前的那个printf语句有错,获取数值应该用scanf语句

无论你几点几的C,无论是什么机器,你的程序都是在屏幕上显示一个无聊的整数,然后是十个0,不可能死循环的。你的第一个printf语句是显示i变量的地址,就是我说的无聊数值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
voyagee
2006-11-28 · TA获得超过982个赞
知道小有建树答主
回答量:849
采纳率:0%
帮助的人:785万
展开全部
哪有什么死循环啊.只不过没有printf("%d",&i)这一句后就是没有输出而已.你看不到就罢了,系统执行完毕输出10个0就跳出循环,执行结束了.
而所谓的死循环是跳不出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
t991981
2006-11-28 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:0
展开全部
printf("%d",a[i]);最后到 10时溢出了吧,因为声明是 0..9,a[10],你所说的死循环应该是溢出的体现的吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
EsprinceXing
2006-11-28 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:0
展开全部
哥们,懂什么叫死循环,???????????
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gghggh34
2006-11-28
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
你那个程序没有死循环。
这么该一下吧!同时我也删除掉了你的输出语句。当然加上也可以。
main()
{
int a[10],i;

for(i=1;i<=10;){
a[i]=0;

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式