2010-09-16 39 views
-1

就像这样,我想看看完整的语法。有没有人有一个在C条件语句的例子?

伪代码:

var = user_input 

if var > 5: 
    output = 'var > 5' 
else: 
    output = 'var < 5' 
+13

您的示例已经非常接近C.您正在询问很多关于该语言的非常基本的问题 - 您是否尝试过在网上搜索教程或其他内容? – 2010-09-16 04:15:01

+3

请注意,当'var'等于5时,'else'子句会错误地描述该值。 – 2010-09-16 04:32:53

回答

7

如何沿着线的东西:

#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; 
} 

与一对夫妇的测试运行:

pax> testprog 
Enter number> 99 
99 is greater than 5 

pax> testprog 
Enter number> -5 
-5 is less than 6 
+0

如果'var'是用户输入,那么怎么办? – rectangletangle 2010-09-16 04:18:36

+0

@Anteater:完成。 – paxdiablo 2010-09-16 04:26:57

+1

如果添加'fflush(stdout)',我会为你+2。既然你正在采取这样的努力来写这个强有力的。 :-) – 2010-09-16 04:27:13

2

这似乎符合你'd like:

int var; 
scanf("%d", &var); 

if (var > 5) 
    printf("var > 5\n"); 
else 
    printf("var <= 5\n"); 

关于使用的注意事项scanf() - 我通常不喜欢它的弹性代码,但它会迅速给出最低限度的答案。

你不得不把它包在main()#include <stdio.h>,以使其可执行:

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

除了其他两个答案,总是有三元运算符?:这可以这样使用:

printf("var %s 5\n", var > 5 ? ">" : "<="); 
0
if(condition) 
    doThis(); 
else 
    doThat(); 

这几乎是你在那里。你的例子:

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

唯一的区别是在条件表达式周围的语句和括号后面需要分号,而冒号不是必需的。

您还可以使用大括号来表示在给定某个条件下执行的命令块。但是,只有一行正在执行时,大括号不是必需的。但是,这是等同于:

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

你可以只是if后或只是else,或两者,或两者都不是后括号。请记住,虽然多条语句需要大括号。

还值得注意的是换行符是可选的。这可以写成

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

甚至

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

但是这个代码是远不如可读。第一种和第二种形式是更好的做法。

0
char var = getchar(); 

if (atoi(var) > 5) 
{ 
    printf("var > 5 \n"); 
} 
else 
{ 
    printf("var < 5 \n"); 
} 
相关问题