例在程序段int k=0;while(k=1)k++;中,while循环执行的次数是( )。
A.无限次 B.有语法错,不能执行
C.一次也不执行 D.执行1次
正确答案是A
本人一开始是认为选c ,因为k=0,是不满足k=1的。这里就出现了一个错误,把“==”和“=”搞混淆了。在while这个语句中,是先把k=1这个赋值语句执行了,再进行判断。当赋值语句执行了之后就变成了while(1)是永真语句。所以执行循环。在重新开始又再次赋值。所以是无限次。
while( k=0 )是把 k 赋值为 0,同时表达式的结果也是 0