像这样的东西,我希望看到完整的语法。
伪代码:
var = user_input
if var > 5:
output = 'var > 5'
else:
output = 'var < 5'
答案 0 :(得分: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
答案 1 :(得分:2)
这似乎符合您的要求:
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;
}
答案 2 :(得分:2)
希望这会帮助你开始。
答案 3 :(得分:1)
除了其他两个答案之外,总是有三元运算符?:
可以像这样使用:
printf("var %s 5\n", var > 5 ? ">" : "<=");
答案 4 :(得分: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";
但是这段代码的可读性要差得多。第一种和第二种形式是更好的做法。
答案 5 :(得分:0)
char var = getchar();
if (atoi(var) > 5)
{
printf("var > 5 \n");
}
else
{
printf("var < 5 \n");
}