2013-10-21 2 views
0

마지막 항목이 있으면 안되며, 숫자 만 표시해야합니다. 왜 이런 일이 일어 났는지 말해 줄 수 있습니까? 예를 들어 char [5] = "12345"; 그것은 잘 작동하고 문자 '1'으로 c 배열의 첫 번째 4 개 요소를 덮어 씁니다 FORSC 문자열 배열이 올바른 출력이 아닙니다.

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'); 
    } 

감사 (123)와 예에서

+0

전체 코드입니까? – haccks

+0

아니요, 그 다른 부분은 할당 코드가 주어 졌으므로 여기에 추가하지 않았습니다. – Nick

+0

질문이 명확하지 않습니다. – haccks

답변

2

, scanf의 경우를 제거, '2', '3' 및 0입니다. 배열 요소가 '\0' 인 경우 아무것도 인쇄하지 않도록 프로그램 논리를 변경하려고 할 수 있습니다.

+0

예 처음에 c [k]를 '\ 0'과 동일하게 변경했는데 완벽하게 작동했습니다. – Nick

관련 문제