2014-09-18 2 views
-2

이 중첩 루프가 작동하지만 2D 배열에서 null 문자를 종료하는 방법을 모르므로 끝에 여분의 문자를 인쇄합니다. 다음은 코드입니다.2 차원 배열에 null 문자를 종료합니다.

char arr[100]; 
char twoDArray[100][100]; 
int y = 0, x = 0, h= 10, w = 10,j=0; 
for(y = 0; y <= h; y++) 
{ 
    for(x = 0; x <= w; x++) 
    { 
    twoDArray[y][x] = arr[j]; 
    printf("%c", twoDArray[y][x]); 
    j++; 
    } 
} 
+0

어느'null' 문자입니까? – ericbn

+0

데이터가 초기화되는 위치는 어디입니까? 이 예에서는 사용중인 빈 배열 만 보여줍니다. 또한 for-loops에서'<='를 사용 했습니까? C의 배열은 0부터 시작하여 사용할 수있는 최대 길이는 0에서 길이 1까지이므로 일반적으로 "추가"데이터가 사용됩니다. –

+0

'twoDArray'에 대해서는 그 이후로 제가 인쇄하려고합니다. – Kenneth

답변

1

다음 문자의 null 문자가 사용되었습니다.

'\0' 

다음 링크를 클릭하십시오.

String termination - char c=0 vs char c='\0'

http://www.tutorialspoint.com/cprogramming/c_strings.htm

그냥 루프에서 비교.

if(twoDArray[y][x]=='\0') 
{ 
    break; 
} 
+0

고마워요. .. !! – Kenneth

+0

문제가 해결되고 질문에 답변을하면 대답을 수락 한 것으로 표시해야합니다. –

+0

나는 @ RananJ를 안다 나는 어떤 이유로 든 1 분을 기다려야했다. 어쨌든 도움을 주셔서 감사합니다 .. !! – Kenneth

관련 문제