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

结果是什么??
main()
{int k=5;
while(--k)
printf("%d",k=1);
}

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的值。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-05
这是一个while循环,小括号里面是循环条件,每次循环前先对k减去1;在打印k,由此判断执行结果只有一个1追问

那不是应该执行出4 3 2 1么?

括号里k=1是什么意思?

追答

让k的值成为1

本回答被提问者和网友采纳
相似回答
大家正在搜