0

Something like this, I'd like to see the full syntax.

Pseudo Code:

var = user_input if var > 5: output = 'var > 5' else: output = 'var < 5' 
2
  • 13
    Your example is already pretty close to C. You are asking a lot of very basic questions about the language - have you tried searching the web for a tutorial or something? Commented Sep 16, 2010 at 4:15
  • 3
    Note that the 'else' clause misdescribes the value when var is equal to 5. Commented Sep 16, 2010 at 4:32

6 Answers 6

7

How about something along the lines of:

#include <stdio.h> #include <string.h> int main (void) { int var; char buff[100]; printf ("Enter number> "); fflush (stdout); if (fgets (buff, sizeof(buff), stdin) == NULL) { printf ("\nfgets() failed\n"); return 1; } if (sscanf (buff, "%d", &var) != 1) { printf ("\nsscanf() failed\n"); return 1; } if (var > 5) printf ("%d is greater than 5\n", var); else printf ("%d is less than 6\n", var); return 0; } 

with a couple of test runs:

pax> testprog Enter number> 99 99 is greater than 5 pax> testprog Enter number> -5 -5 is less than 6 
Sign up to request clarification or add additional context in comments.

5 Comments

What about if 'var' was a user input?
I'll +2 you if you add fflush(stdout). Since you're taking such pains to write this robustly. :-)
@John: why? When the program exits, the standard I/O streams are automatically flushed.
@Jonathan After the prompt is printed, I mean, since it doesn't end with a newline.
OK. I'm going to need somebody who doesn't like this answer to +1 it for me, if you don't mind.
2
  1. Variables and datatypes
  2. Scanf
  3. Conditional statements

Hope this will help you get started .

Comments

2

This seems to correspond to what you'd like:

int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n"); 

With caveats about using scanf() - I generally don't like it for resilient code, but it gives a minimal answer swiftly.

You'd have to wrap it in a main() and #include <stdio.h> to make it executable:

#include <stdio.h> int main() { int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n"); return 0; } 

Comments

1

In addition to the other two answers, there's always the ternary operator ?: which can be used like this:

printf("var %s 5\n", var > 5 ? ">" : "<="); 

Comments

0
if(condition) doThis(); else doThat(); 

It's pretty much what you've got there. Your example:

if(var > 5) output = "var > 5"; else output = "var < 5"; 

The only difference is that you need semicolons after the statements and parentheses around the conditional expression, and the colons are not required.

You can also use curly braces to denote a block of commands to execute given a certain condition. When there's only one line being executed, however, the braces are not necessary. But this is equivalent to:

if(var > 5) { output = "var > 5"; } else { output = "var < 5"; } 

You can have braces just after the if or just after the else, or both, or neither. Remember, though, that with multiple statements the braces are required.

It's also worth noting that the line breaks are optional. This could be written

if(var > 5) output = "var > 5"; else output = "var < 5"; 

Or even

if(var > 5) output = "var > 5"; else output = "var < 5"; 

But this code is far less readable. The first and second forms are better practice.

Comments

0
char var = getchar(); if (atoi(var) > 5) { printf("var > 5 \n"); } else { printf("var < 5 \n"); } 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.