C语言问题高手帮我看下这简单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/02 10:40:37
int x=3;
do
{printf("%3d",x=2);}
while(!(--));
每一步是什么意识 怎么循环的
最后的结果是?
主要是每一步的意识

int x=3; 定义初值
do do~while的do ,当while里面的成立再执行do
{printf("%3d",x=2);} 这个LZ打错了吧?如果是这样就输出x=2.占三个字符,空格补齐...我最近做了这题,题目应该是{printf("%3d",x-=2);} 这样吧?这样就是x=x-2把x-2的值赋予x,然后输出
while(!(--));这个又打错了吧,应该是while(!(--x)); while非0才能运算,就是说这这题括号里要非0即(--x)要等于0此题才能继续...注意的是:--x是先算后执行.x--是先执行后运算

编译不过,语法错误

int x=3; // 定义初值
do //执行..
{printf("%3d",x=2);} //执行输出x=2
while(!(--)); //!(--)时一直循环
感觉你这个程序没有办法终止啊,那个变量!(--)时才终止,应该有个变量来控制。