有人在C中有一个条件语句的例子吗?
像这样的东西,我想看到完整的语法。
伪代码:
var = user_input if var > 5: output = 'var > 5' else: output = 'var < 5'
怎么样的东西:
#include #include 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
- 变量和数据类型
- SCANF
- 条件陈述
希望这会帮助您入门。
这似乎符合您的要求:
int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n");
关于使用scanf()
警告 - 我通常不喜欢弹性代码,但它迅速给出了最小的答案。
你必须将它包装在main()
和#include
以使其可执行:
#include int main() { int var; scanf("%d", &var); if (var > 5) printf("var > 5\n"); else printf("var <= 5\n"); return 0; }
除了其他两个答案之外,还有三元运算符?:
可以像这样使用:
printf("var %s 5\n", var > 5 ? ">" : "<=");
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
或之后,或两者之间,或两者都没有大括号。 但请记住,对于多个语句,需要括号。
值得注意的是,换行符是可选的。 这可以写
if(var > 5) output = "var > 5"; else output = "var < 5";
甚至
if(var > 5) output = "var > 5"; else output = "var < 5";
但是这段代码的可读性要差得多。 第一种和第二种forms是更好的做法。
char var = getchar(); if (atoi(var) > 5) { printf("var > 5 \n"); } else { printf("var < 5 \n"); }