Note that there are some explanatory texts on larger screens.

plurals
  1. POBest way to print the result of a bool as 'false' or 'true' in c?
    primarykey
    data
    text
    <p>I have to write a program in which main calls other functions that test a series of number if any are less than a number, if all the series' numbers are between two limits, and if any are negative. My code returns the values of 1 for true and 0 for false, but the assignment asks that they be printed as 'true' or 'false'. I'm not sure how to get the bool answers to print as a string from printf. I used if (atl == false) printf("false"); in my at_least.c and in main.c, but it returns only a long string of true or false (ex: truetruetrue....). I'm not sure if that is the correct coding and I'm putting it in the wrong spot or there was some other code that I need to use.</p> <p>This is my main.c:</p> <pre><code>#include "my.h" int main (void) { int x; int count = 0; int sum = 0; double average = 0.0; int largest = INT_MIN; int smallest = INT_MAX; bool atlst = false; bool bet = true; bool neg = false; int end; while ((end = scanf("%d",&amp;x)) != EOF) { sumall(x, &amp;sum); //calling function sumall count++; larger_smaller(x, &amp;largest, &amp;smallest); //calling function larger_smaller if (atlst == false) at_least(x, &amp;atlst); //calling function at_least if x &lt; 50 if (bet == true) between(x, &amp;bet); //calling function between if x is between 30 and 40 (inclusive) if (neg == false) negative(x, &amp;neg); //calling function negative if x &lt; 0 } average = (double) sum / count; print(count, sum, average, largest, smallest, atlst, bet, neg); return; } </code></pre> <p>my results for a set of numbers:</p> <pre><code>The number of integers is: 15 The sum is : 3844 The average is : 256.27 The largest is : 987 The smallest is : -28 At least one is &lt; 50 : 1 //This needs to be true All between 30 and 40 : 0 //This needs to be false At least one is negative : 1 //This needs to be true </code></pre> <p>This is in C, which I can't seem to find much on.</p> <p>Thanks in advance for your help!</p> <p>ADDENDUM:</p> <p>This is repeated from an answer below.</p> <p>This worked for the at_least and negative functions, but not for the between function. I have </p> <pre><code>void between(int x, bool* bet) { if (x &gt;= LOWER &amp;&amp; x &lt;= UPPER) *bet = false; return; } </code></pre> <p>as my code. I'm not sure what's wrong.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload