C程序出错

Man*_*noj -2 c gcc mingw

while(((long)(1000*ratio*((long)clock()-(long)t0))%100)/1000)<Data_Read_Rate);

上面的行生成以下错误:"<token"之前的语法错误.

为什么会出现这个错误?

我使用MINGW32进行开发(GCC编译器).

谢谢...

Ste*_*202 8

左边有一个paren失踪.这将解析:

while ((((long)(1000*ratio*((long)clock()-(long)t0))%100)/1000)<Data_Read_Rate);
Run Code Online (Sandbox Code Playgroud)

除了解析问题:

  • 使用突出显示匹配括号的编辑器:)
  • 为什么不计算数据读取速率已经充分下降之前的剩余时间,并调用sleep()?这在处理器上更好.

另外,考虑到你使用%运算符,你可能希望像这样放置额外的paren(我假设ratio不是整数),因为%运算符需要整数操作数:

while (((long)(1000*ratio*(((long)clock()-(long)t0))%100)/1000)<Data_Read_Rate);
Run Code Online (Sandbox Code Playgroud)

(但这在语义层面上是否有意义?切碎它!)