2012-05-04 56 views
1

我想爲C.如何使用scanf()的多維字符數組用C

輸入值,多維字符數組

代碼驗證碼:

char s[2][2]; 
    char TRUE = '1'; 

for (i =0; i < 2; i++) 
{ 
    for (j = 0; j < 2; j++) 
    { 

     scanf("%c\n", &s[i][j]); 
     printf("%c\n", (char)s[i][j]); 
     printf("###\n"); 
     if (s[i][j] == TRUE) 
      printf("Char are equal\n"); 
     else 
      printf("Not\n"); 
    } 
} 

的問題是,那第一個scanf(),我得到空值。 此代碼僅適用於第二個scanf()。代碼的目的是輸入'1'和'0'值,然後比較輸入是否等於TRUE('1')。

+3

這是什麼線應該做的? 'if(s [i] [j] == TRUE)' –

+1

你確定,你想把塊放在嵌套循環中嗎?代碼的意思是什麼? –

+1

你到底在打什麼?什麼是真?你想達到什麼目的? –

回答

0

默認情況下scanf()有很多問題。你應該把它叫做:

scanf("%c", &s[i][j]); 
fflush(stdin); 

,或者如果fflush()不支持您的操作系統,這將是幫助在:

do scanf("%c", &s[i][j]); while (getchar() != '\n'); 

希望這有助於:)