Saturday, 15 August 2015

c - Trouble with RAND_MAX -


यह सरल कोड:

  int main () {srand (time (NULL)) ; Const int size = rand ()% RAND_MAX; पूर्ण संख्या [आकार]; Int i; के लिए (i = 0; i & lt; आकार; i ++) संख्या [i] = रैंड ()% RAND_MAX; के लिए (i = 0; i & lt; आकार; i ++) प्रिंटफ़ ("संख्या [% d] =% d \ n", i, संख्या [i]); }  

संकलन नहीं करता है क्योंकि सरणी का आकार const मान नहीं है।

ऐसा क्यों होता है?

मैं इसे कैसे ठीक कर सकता हूं?

साथ ANSI C89 और < कोड> C90 मानक, आपको संकलन के समय में सरणी का आकार अग्रिम में जानना होगा। केवल C99 में यह चर आकार के arrays के लिए अनुमति है।

आप या तो c99 संकलक के साथ संकलित कर सकते हैं या आप ढेर पर स्मृति आवंटित कर सकते हैं:

  int * संख्या = मॉलोक (आकार * आकारफ (int));  

No comments:

Post a Comment