就像這樣,我想看看完整的語法。有沒有人有一個在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