회문을 출력하는 프로그램...어디가 잘못된건지..
너만을
질문 제목 : 단어를 입력받으면 회문(앞으로 읽으나 뒤로 읽으나 같은 단어 ex) eye, level bob)
인지 회문이 아닌지 알려주는 프로그램인데요... 어디가 잘못되었는지.. 뭘 입력해도 회문이라고 떠요 ㅠㅠ
어디가 잘못된 건지.. ㅠㅠ
파일에 첨부했습니다.질문 내용 :
///회문인지 아닌지 판단하는 프로그램///
#includestdio.h
#includestdlib.h
int main(void)
{
char * par;
int len = 0;
int n=0;
par = (char *)malloc(sizeof(char)*50);
while(1)
{
printf(문자열 입력:);
scanf(%s,par); //par 에는 주소값만 설정되었을 뿐 크기가 할당 안되어있음..
while(par[len]!=0)
{
len++;
}
while(nlen)
{
if(par[n]=par[len-n-1])
{
n++; // 같으면..그러니까 회문이면...n++ 해준다..
}
else
{
break;
}
}
if(n==(len))
{
printf(회문 입니다.);
}
else
{
printf(회문이 아닙니다.);
}
puts();
}
free(par);
return 0;
}
-
물맑
len을 0으로 초기화해주니 되네요! 감사합니다 ㅎㅎ
-
별
두번째 입력시에 len 이 0부터 시작될까요? 아닐까요?
-
동백
c에서 초기화는 가장중요한 부분이니깐 다음부턴 잊지말고 하셔요 ^^
-
온새미로
오오 초기화해주니 되네요!
-
링고
초기화를 해보시는게 어떤가요..? 처음만 초기화한뒤 나머지 부분에서는 초기화를 해주지않아서 생기는 문제같은데..
-
하늘이
그런데.. 입력된 처음 2개까지 제대로 출력되고... 그뒤로는 뭘 입력해도 회문입니다 라고 뜨는데 ㅠㅠ 왜그럴까요..?
-
비마중
ㄴ님쵝오...감사합니다 한번에 해결되네요
-
오빤테앵겨
while(nlen)
{
if(par[n]=par[len-n-1]) == if(par[n]==par[len-n-1]) 바꿔주세요
수정전에는 대입을 의미합니다. -
고독
주석은 그냥 메모해둔 거니 신경쓰지 말아주세요 ㅜㅜ