C循环问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
int k=0;while(k=1)k++;结果是什么?为什么?

                                                                                                这是个死循环。int k=0; while(k=1)k++; /*这里的k=1是赋值语句,不是判断语句(k==1),所以k=1 赋值成功,返回1(真)。while(k=1)k++; 就相当于while(1)k++; 无限循环*/                                       
提问者对答案的评价:

                                                                                                因为是普通while循环,所以是先判断后求值K=0!=1所以直接结束了,最后K的值为0p.s 应该是k==1把,不然K=1是直接赋值了,编译会出错误的如果是do...while循环,则先求值在判断e.g.int k=0;do{k++}while(k=1)则K的值为2过程:k++=1,满足循环条件-->再次循环-->k++=2!=1退出循环
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行