프로그래밍 시작한지 2주째 되는 초보라서 좆밥문제좀 물어볼게요..
유튜브 강의 따라하면서 했는데 똑같이 이해하면서 쳤는데 강사랑 결과값이 다르게 나와요
강사는 's'를 치면 's'가 나오고 그다음 'w'를 치면 'sw'가 나오는데
제가 's'를 치면 'sss'가 나와요..
어디가 틀린지 봐주실수 있나요 아무리 비교해도 똑같이 친거 같은데 ㅠㅠ
#define _CRT_SECURE_NO_WARNINGS
#define STACK_SIZE 100
#include <stdio.h>
// 밑에는 전역변수
char stack[STACK_SIZE]; // 스택생성
int top = -1; // 스택의 마지막 데이터 위치, 처음부터 0번째
void push(char input);
void print(void);
int main(void)
{
char ch = 'a';
while (ch != 'q')
{
scanf("%c", &ch); // 사용자로 부터 문자입력
push(ch); // 스택에 문자를 삽입
print(); // 스택의 데이터 전체 출력
}
return 0;
}
void push(char input)
{
if (top >= (STACK_SIZE - 1)) // 스택이 가득차면 더이상 삽입불가, 99번째가 꼭대기
return;
stack[++top] = input; // 스택에 데이터 삽입, 0번째 인덱스에 넣어야하니깐 전위연산
}
void print(void)
{
int i;
// 스택 전체를 출력
printf("<stack>\n");
for (i = 0; i <= top; i++)
printf("%c ", stack[i]);
printf("\n");
}
해당 댓글은 삭제되었습니다.
해도 안되는거같아요.. 근데 제가 치면 이거도 안나와요..
w치면 www 나오고 그다음 s치면 swsws 이렇게 나오는데 어떡하죠..