2013-01-14 112 views
-6

在C中,如何計算執行while循環的次數?如何計算執行while循環的次數

在Python中,我只是在開始時創建一個空列表,並在每次執行循環時追加while循環中的值。然後我會找到該列表的長度,以知道執行了多少次while循環。 C中有類似的方法嗎?

+8

如果你的目標只是來計算循環運行的次數,這在Python中也不是最好的方式。 –

+0

如果你在C中使用這種技術,你的列表將在一秒鐘內需要所有可用的內存。 – wildplasser

+0

你在計算什麼?也許'gprof' programa可以幫助你? – Jack

回答

12

將變量初始化爲0,並在每次迭代時遞增?

int num = 0; 

while (something) { 
    num++; 

    ... 
} 

printf("number of iterations: %d\n", num); 
+3

對於OP的好處,你可以用Python來完成,因爲OP的描述是這樣的。不過,我認爲我們錯過了這個問題的一部分。 –

2

發起i = 0,然後在每次循環通i++ ...

2

(對不起,這是C++的方式,不C ...)如果你真的想要去填充列表中,這如何它可以做:

#include <list> 
#include <iostream> 

using namespace std; 

... 

    list<int> my_list; 
    int num = 0; 
    while(...) { 
     ... 
     ++num; 
     my_list.push_back(num); 
    } 
    cout << "List size: " << my_list.size() << endl; 

如果你想打印的清單值:

#include <list> 
#include <iostream> 
#include <algorithm> 

using namespace std; 

... 

    list<int> my_list; 
    int num = 0; 
    while(...) { 
     ... 
     ++num; 
     my_list.push_back(num); 
    } 
    cout << "List contens: " << endl; 
    // this line actually copies the list contents to the standard output 
    copy(my_list.begin(), my_list.end(), iostream_iterator<int>(cout, ",")); 
+7

+1,用於完全使用C++回答C問題 – paddy