Does anyone have an example of a conditional state

2019-09-20 14:04发布

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'

6条回答
你好瞎i
2楼-- · 2019-09-20 14:13

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
查看更多
ら.Afraid
3楼-- · 2019-09-20 14:18

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 ? ">" : "<=");
查看更多
你好瞎i
4楼-- · 2019-09-20 14:21
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.

查看更多
男人必须洒脱
5楼-- · 2019-09-20 14:23
  1. Variables and datatypes
  2. Scanf
  3. Conditional statements

Hope this will help you get started .

查看更多
Evening l夕情丶
6楼-- · 2019-09-20 14:30
char var = getchar();

if (atoi(var) > 5)
{
  printf("var > 5 \n");
}
else
{
  printf("var < 5 \n");
}
查看更多
▲ chillily
7楼-- · 2019-09-20 14:36

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;
}
查看更多
登录 后发表回答