열혈강의 c언어 연습문제 질문좀요
아지랑이
질문 제목 : 연습문제 23-2번 문제 왜 오류가났는지좀 알려주세요
질문 내용 :
#includestdio.h
#includestdlib.h
int main(void)
{
char arr[3][3];
int i;
for(i=0;i3;i++)
{
printf(이름, 전화번호, 주소 순으로 입력: );
scanf(%s %s %s, &arr[i][0], &arr[i][1], &arr[i][2]);
}
printf(\n입력 결과는 다음과 같습니다.\n);
for(i=0;i3;i++)
printf(이름: %s, 전화번호: %s, 주소: %s\n, arr[i][0], arr[i][1], arr[i][2]);
system(pause);
return 0;
}
연습문제하는데 이렇게했더니 오류가나서 답을봤어요
답에는 char arr[3][3][10];으로 3차원배열로 되있던데 위에것과 이것의 차이는 어떻게 다른거임?
[3][3][10]할떄 [10]에 뭐가 저장되는지를 모르겠어요
-
환히찬
저도 잘 모르겠어요
-
빛글
아... 저도 복습이 필요할듯하네요 ㅠ
그런데 char형을 저런식으로 활용하면 긴 문자열은 안될거 같은데 putchar puts 같은걸 써야하지 않는지? -
가든
#includestdio.h
#includestdlib.h
int main(void)
{
\tchar arr[3][3] = {{0, }};
int i;
for(i=0;i3;i++)
{
printf(\이름, 전화번호, 주소 순으로 입력: \);
scanf_s(\%c %c %c\ -
시나브로
처음 들어가는 이름 : arr[0][0][size]
처음 들어가는 번호 : arr[0][1][size]
처음 들어가는 주소 : arr[0][2][size]
이렇게 들어가야겠죠
arr[3][3]이면 할당된 공간이 너무 작아서 지금 하신걸론
arr[0][0]에 1바이트 arr[0][1]에 1바이트 arr[0][2]에 1바이트이기 때문에 아마 문자 정도?
들어갈 수 있을 것 같아요