2016-04-14 9 views
-4

私を助けることができますか?この文を実行すると、たとえそうでないとしても上限を超えているということを続けます。何が問題ですか?ありがとう。ループ中のCプログラミング。変数と変数との比較

if(number_o_1 <= higher) 
    { 
     printf("Random number has reached upper bound.\n"); 

    } 
     else 
     { 
      printf("Number 1: %d\n", number_o_1); 
      number_o_up=number_o_1+n_multiple*(x-1); 
      while(number_o_up<=higher) 
      for(x=2;x<number_r;x++) 
      printf("Number %d: %d\n", x,number_o_up); 
     } 
+0

、誰もがこのコードに関する意味のある何かを言うことはできません。 – Lundin

答えて

0
number_o_1<= higher 

確かにあなたはそれがあなたの上限よりも小さいか等しいだとき数が上限に達したことを印刷したいですか?

+0

私はそれをしたことを知らなかった。それを指摘するためのThx。 –

0

実装したい論理を理解するのは少し難しいですが、正確な値とコメントを使ってelseブロックをヒットする例を見てください。

#include <stdio.h> 
int x = 2; 
int higher = 100; 
int number_o_1 = 10; 
int number_r = 4; 
int number_o_up = 1; 
int n_multiple = 2; 

int main() 
{ 
    if(number_o_1 >= higher) // probably want >= here to hit else 
    { 
     printf("Random number has reached upper bound.\n"); 
    } 
    else 
    { 
     printf("Number 1: %d\n", number_o_1); 
     number_o_up = number_o_1 + n_multiple * (x-1); // number_o_up = 12 
     while(number_o_up <= higher)     // 12 <= 100 
     { 
      for(x = 2; x < number_r; x++)    // cond. 2 < 4 
      { 
       printf("Number %d: %d\n", x, number_o_up); 
      } 

      number_o_up++; //needs to change higher or number_o_up to get out of while 
     } 
    } 
} 

出力:なし変数宣言が提供されていないので

sh-4.3$ main 
Number 1: 10 
Number 2: 12 
Number 3: 12 
Number 2: 13 
Number 3: 13 
Number 2: 14 
... 
Number 3: 100 
関連する問題