質問

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

上記の行では次のエラーが生成されます。「<トークンの前の構文エラー」。

このエラーが発生するのはなぜですか?

開発にはMINGW32(GCCコンパイラ)を使用しています。

ありがとう...

役に立ちましたか?

解決

左側の括弧が 1 つありません。これは以下を解析します:

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

解析の問題とは別に:

  • 一致する括弧を強調表示するエディターを使用してください:)
  • データの読み取り速度が十分に低下するまでの残り時間を計算して、sleep() を呼び出してみてはいかがでしょうか。プロセッサーにとってはそのほうが快適です。

また、% 演算子の使用を考慮すると、余分な括弧を次のように配置した方がよいかもしれません (私はそう仮定しています) 比率 は整数ではありません)。これは、% 演算子には整数オペランドが必要であるためです。

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

(しかし、それは意味レベルで意味があるのでしょうか?切り刻んでください!)

他のヒント

あなたはあまりにも多くの閉じ括弧を持っています。

プラスは、あなたのロジックは、私がしようとすると、コードがどうあるべきかを把握する気にしないように長いと深いです。ちょうどそのvimは、それが不一致だという意味、赤で最後)を強調しています。私はあなたがいくつかの中間変数を使用して、代わりに1の数行にそれを広げることにより、その文のロジックを簡素化を検討し提案します。

<括弧が一致していません。ところで、私は実際にコードを編集し、それをより読みやすくするために、複数のステートメントに分割してしまう。

コンパイラは人間の読者としてあなたのコードについてなど混乱してしまいますので? [シャダー

スペースや改行は自由のためのもの、と読みやすさにきれいに追加します。

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

あなたも(彼らは両方のint型だと仮定すると)、クロック()およびT0のキャスト離れて(長い)で行うことができます。 substraction前にそれらをキャストすると、結果は変わりません。長い全体の計算を行うために、の長い引数の1にするのに十分だろう - とそれを行うための最短の道キャスティングされリテラル:1000

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

うーん...待ちます。あなたは何か、モジュロ100(0〜99の番号をもたらす)を取り、その後、1000年で割ますか?あなたの結果は常に0です...

ああ、あなたはあなたの括弧にマッチするのを忘れました。 ; - )

前述したように、括弧が一致していません。

このような式では、ほとんどの場合、ステートメントを簡略化するためにいくつかの中間変数を使用する方が良いでしょう。ただし、次のヒントが役立つ場合があります。

  1. 括弧を数えて「(」ごとに 1 を加え、「)」ごとに 1 を引くと、常に答えが 0 になります。肯定的な答えは、余分な「(」があることを意味し、否定的な答えは、余分な「)」があることを意味します。
  2. 読みやすいように式を再フォーマットし、場合によっては各論理ステートメントを 1 行に複数行に分割します。
  3. 構文強調表示コード エディターを使用します。これにより、不一致が表示されるはずです

あなたは左側に1つの括弧が欠落している。

あなたはあまりにも多くのオープンと閉じ括弧をしました。 Visual Studioを使用している場合、それはあなたが使用して開閉paranthesis /ブレースを一致させるのに役立ちますCtrlキー+「[」とCtrl +「]」キーを押す

他の提案は基であり、式の可読性を維持することによって複数の行に分割します。また、論理的にグループにで式を、その後の括弧の間にスペースを与えるためにしようとします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top