int i=0,while(i=1)i++为什么是执行无数次,不是有语法错误吗

 我来答 举报
White_MouseYBZ
2011-12-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:7078万
展开全部
不知道你说的语法错误指什么,这里的语法错误是i++后面少了分号。如果有了分号就没有什么语法错误。但这句子确实是执行无数次,因为在while(i=1)的括号中i=1为i赋值为1,无论while()的体为怎样赋值,while()括号中的“值”永远为“真”,所以会无休止地执行下去……
tangrong2
2011-12-17 · TA获得超过768个赞
知道小有建树答主
回答量:540
采纳率:100%
帮助的人:287万
展开全部
你把i赋值为1,在C/C++中认为所有非零的值都是true,所以while每次迭代都会认为是真,就会不断地循环。
应该写为while(i == 1)。用的是相等运算符(==),而不是赋值运算符(=)。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
glance似水年华
2011-12-18 · 超过35用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:104万
展开全部
C语言中,=表示是赋值,==才表示等于,在上述程序中,i=1表示将1赋给i,所以表达式i=1永远为真,while循环执行无数次
2 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
hoarymarmot
2011-12-17 · TA获得超过1481个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:221万
展开全部
问题出现在"i=1",应发为 “i==1” .i=1是一个赋值语句,该语句的值就是变量i的值
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式