2010-09-16 51 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"); 
}