int x=-1; do { x=x*x; }while(!x);

int x=-1; do { x=x*x;}while(!x);为什么只循环执行一次???
2025-02-24 23:48:12
推荐回答(1个)
回答1:

int x=-1; //此时x=-1
do
{
x=x*x; //此时x=1
}
while(!x); //!x的意思是 非x ,在C里面,正数(>=1)的都为1,即true,0为0,即为false,所以!1=0

while条件为0,所以跳出循环