C语言问题,谢谢啦

[复制链接]
查看11 | 回复5 | 2011-9-19 01:23:44 | 显示全部楼层 |阅读模式
若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k)printf(\"*****n\");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环本文来自学习网(www.gzu521.com),原文地址:http://www.gzu521.com/it/ncre/ncre2/c/zhenti/201103/23666_2.htm
回复

使用道具 举报

千问 | 2011-9-19 01:23:44 | 显示全部楼层
D)构成无限循环注意for括号中的第二个表达式是个“赋值表达式”k=1,本来for语句的规则就是,这第二个表达式为真就执行循环体,为假就结束循环,但这里的赋值表达式强行将k的值改为1,并且该表达式的值也是1,代表“真”。
回复

使用道具 举报

千问 | 2011-9-19 01:23:44 | 显示全部楼层
C不执行
回复

使用道具 举报

千问 | 2011-9-19 01:23:44 | 显示全部楼层
B
回复

使用道具 举报

千问 | 2011-9-19 01:23:44 | 显示全部楼层
D啊没有跳出for循环的判断故一直执行
回复

使用道具 举报

千问 | 2011-9-19 01:23:44 | 显示全部楼层
#includestdio.hvoidmain(){inti,j;for(i=0;i5;i){for(j=0;j=i;j)//第i行就打印i个*{printf(\"*\");}printf(\"\\n\");}}
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行