就像这样,我想看看完整的语法。有没有人有一个在C条件语句的例子?
伪代码:
var = user_input
if var > 5:
output = 'var > 5'
else:
output = 'var < 5'
就像这样,我想看看完整的语法。有没有人有一个在C条件语句的例子?
伪代码:
var = user_input
if var > 5:
output = 'var > 5'
else:
output = 'var < 5'
如何沿着线的东西:
#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
如果'var'是用户输入,那么怎么办? – rectangletangle 2010-09-16 04:18:36
@Anteater:完成。 – paxdiablo 2010-09-16 04:26:57
如果添加'fflush(stdout)',我会为你+2。既然你正在采取这样的努力来写这个强有力的。 :-) – 2010-09-16 04:27:13
这似乎符合你'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;
}
除了其他两个答案,总是有三元运算符?:
这可以这样使用:
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
后或只是else
,或两者,或两者都不是后括号。请记住,虽然多条语句需要大括号。
还值得注意的是换行符是可选的。这可以写成
if(var > 5) output = "var > 5";
else output = "var < 5";
甚至
if(var > 5) output = "var > 5"; else output = "var < 5";
但是这个代码是远不如可读。第一种和第二种形式是更好的做法。
char var = getchar();
if (atoi(var) > 5)
{
printf("var > 5 \n");
}
else
{
printf("var < 5 \n");
}
您的示例已经非常接近C.您正在询问很多关于该语言的非常基本的问题 - 您是否尝试过在网上搜索教程或其他内容? – 2010-09-16 04:15:01
请注意,当'var'等于5时,'else'子句会错误地描述该值。 – 2010-09-16 04:32:53