Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: What am I doing wrong here? Date: Sat, 13 May 2017 13:58:51 -0700 Organization: None to speak of Lines: 26 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: mx02.eternal-september.org; posting-host="5ca756bd95c8e8f8c29728d5fd6c16f9"; logging-data="17575"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/UGBsnQLaCDCIWB0gUSzw1" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) Cancel-Lock: sha1:+5SSSL5gFeFLcWD0F1747GGpE7U= sha1:HyY4JXwP7tyisBs358tWowRne98= Xref: csiph.com comp.lang.c:109908 jt@toerring.de (Jens Thoms Toerring) writes: [...] > There doesn't seen to be any good reason here for using > sprintf() at all. All you want to do seems to be to out- > put the results, so your whole loop can bxse shortened to > > srand(time(NULL)); > for (i = 0; i < atoi(argv[1]); i++) > printf("%s, %d, %s\n", names[rand() % namescount], > rates[rand() % ratescount], > jobs[rand() % jobscount]); Note that the order of evaluation of the three rand() calls is unspecified, though it is guaranteed to be called three times. In the particular case of rand(), that probably doesn't matter, but it's something to keep in mind. (And it could be significant if you call srand() with a fixed seed to get a consistent sequence of pseudo-random numbers, though it won't be consistent across implementations.) -- Keith Thompson (The_Other_Keith) kst-u@mib.org Working, but not speaking, for JetHead Development, Inc. "We must do something. This is something. Therefore, we must do this." -- Antony Jay and Jonathan Lynn, "Yes Minister"