c语言中while(--k)printf("%d",k=1)是什么意思

结果是什么??main(){intk=5;while(--k)printf("%d",k=1);}... 结果是什么??
main()
{int k=5;
while(--k)
printf("%d",k=1);
}
展开
 我来答
天云小店
推荐于2017-09-28 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:791万
展开全部

while(--k)  printf("%d\n", k=1);表示当--k不等于0时,输出1。


该语句等价于:

while(--k)  // 如果--k不为0,则执行循环体语句
{
    k=1;  // 对变量k进行赋值
    printf("%d\n", k);  // 输出k的值,即1
}

其中printf("%d\n", k=1)表示先将常量1赋值给变量k,之后输出变量k的值。

百度网友dd5a0d8
2014-09-05 · TA获得超过171个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:137万
展开全部
这是一个while循环,小括号里面是循环条件,每次循环前先对k减去1;在打印k,由此判断执行结果只有一个1
追问
那不是应该执行出4 3 2 1么?

括号里k=1是什么意思?
追答
让k的值成为1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式