2013-10-21 71 views
0

最後一件事不應該在那裏,它應該只顯示數字,有人可以告訴我爲什麼會發生這種情況?當我把例如char [5] =「12345」;它工作得很好,並且如果在維權C字符串數組不正確輸出

for (k = 0; k < 12; k++) 
{ 
     c[k] = 'g'; 
     printf("%", c[k]); 
} 
printf("input:"); 
scanf("%s", c); 
int j, i; 

    unsigned int pat; 
    for (j = 0; j <5; j++) 
    { 
     for (i = 0; i < 12; i++) 
     { 
      if (c[i+1]!='g') 
      { 

       pat = get_row_pattern(c[i], j); 
       print_bits(pat, NUM_COLS + 1); 

      } 


     } 
     print_char('\n'); 
    } 

由於

+0

這是您的完整碼嗎? – haccks

+0

不,其他部分給出了賦值代碼,這就是爲什麼我沒有在這裏添加它 – Nick

+0

你的問題還不夠清楚。 – haccks

回答

2

在具有123的例子,scanf除去將覆蓋c數組的前4個元素以字符'1''2','3'和零。如果數組元素是'\0',您可能想要更改程序邏輯以不打印任何內容。

+0

是的,我改變了c [k]在第一個等於'\ 0',它的工作完美,非常感謝 – Nick