簡體   English   中英

如何迭代c中函數傳遞的結構數組?

[英]How to iterate over an struct array passed by a function in c?

我一直在嘗試遍歷結構數組,但由於某種原因它只遍歷一次。 我仍在嘗試掌握 c 的竅門及其對指針的使用。 對於該函數,我必須使用 **books 數組並對其進行迭代。 例如,我需要返回價格低於 50 美元的圖書數量。 我不知道為什么它只迭代一次......當我使用打印語句檢查“number_of_books”時,我得到五個,這是數組的正確大小。 幫助將不勝感激!

// calling the function in main as : int b = get_cost(books, 50)

int get_cost(book **books, int cost){

    int get_book_total = 0; 
                                                                                                 
    for(int i = 0; i < number_of_books; i++){                                                                                           
          if(books[i]->cost < cost){
                 get_book_total++;
          }                                                                                                            
          return get_book_total; 
    }
}

您的return語句在for循環中,因此您的函數在第一次迭代后返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM