在C中时(不带日志)

在C中时(不带日志),c,while-loop,C,While Loop,你能帮我理解一下while循环吗: while (!(a % b)) { a = a / b; higher = b; } 我不明白(!(a%b)的意思,而(!(a%b))相当于 while ((a % b) == 0) 这意味着如果a是b的倍数,则执行循环中的主体。而(!(a%b))相当于 while ((a % b) == 0) 这意味着如果a是b的倍数,则执行正文,否则将退出循环。a%b返回a的剩余部

你能帮我理解一下while循环吗:

while (!(a % b))        
  {
   a = a / b;               
   higher = b; 
  }
我不明白(!(a%b)

的意思,而(!(a%b))
相当于

while ((a % b) == 0)    
这意味着如果
a
b
的倍数,则执行循环中的主体。而(!(a%b))相当于

while ((a % b) == 0)    

这意味着如果
a
b
的倍数,则执行正文,否则将退出循环。

a%b
返回
a
的剩余部分除以
b
(例如,5%2返回1,4%2返回0)
如果整数不等于0,则将其转换为true

-->(!(a%b))为真,而
a
不是
b

a%b
的倍数,返回
a
的剩余部分除以
b
(例如,5%2返回1,4%2返回0)
如果整数不等于0,则将其转换为true

-->(!(a%b))为真,
a
不是
b

%
的倍数是模(余数)运算符。Me也是,因为您的代码段没有上下文,
%
是模(余数)运算符。Me也是,因为您的代码段没有上下文,