[완료]구조체에 관한것인데요.

puresupe의 이미지

#include
#define MAX_STACK_SIZE 100

typedef struct{
int inputs[MAX_STACK_SIZE];
int top;
}stack;
stack infix_stack;

int main(void)
{
int c;
printf("=> ");
infix_stack.top=-1;
while(!((c=getchar())==EOF || c=='\n')){
infix_stack.inputs[++infix_stack.top] = c;
}
infix_stack.inputs[infix_stack.top+1] = '\0';

printf("%s",infix_stack.inputs);

return 0;
}

위와 같은소스인데요. 100 크기의 배열을 갖는 구조체타입을 선언했구요.
그 배열에다가 문자열을 입력받은다음에 위와같이 printf의 %s를 통해서
출력하게되면. 왜 안될까요? 입력된 첫번째 문자만 출력되고 종료되거든요.

구조체내에서 선언된 배열은..기존의 문자열처리랑 좀 다른가요??

dragonkun의 이미지

int inputs[MAX_STACK_SIZE]; 를
char inputs[MAX_STACK_SIZE];
로 해 주세요.
---
Emerging the World!

Emerging the World!