문자열 입력해서 출력 -- 추가댓글 답변점 부탁드립니다.(간단해요^^)
유린
#includestdio.h
void main()
{
char i[100];
printf(입력하세요:);
scanf(%s,&i);
if(i==하하하)
{
printf(하하하는 뭘 개뿔은..);
}
else if(i==크크크)
{
printf(진정 크크크란 말이더냐);
}
else
{
printf(뭐야);
}
}
이렇게 작성했을때 컴파일은 됩니다. 하지만 하하하라는 단어를 입력하나 크크크라는 단어를 입력하나 모두
뭐야 라는 단어밖에 출력이 되지 않습니다. 대체 무슨문제 일까요?
-
나리
수다님은 폰트를 자제해 주시길 바랍니다.
-
리라
음.. 지금은 자세한 뜻은 알수 없지만 좀더 프로그래밍공부를 한다면 알 수 있을것 같기도 할것 같습니다.
-
도래
요점은, 문자열을 비교하려면, strcmp 함수를 이용하면 된다는 것입니다. ^^
if(i==\하하하\)
-- if (strcmp(i, \하하하\) == 0) -
안토니
제가 아직 배열까지는 모르다 보니;; 배열을 공부해야 저 프로그램을 짤수 있게 되는건지..
-
허우룩
배열을 쓰지 않고는 저런 종류의 프로그램을 만들수 없나요?
-
사랑해
문자열은 char 형의 배열입니다.
int a[10] = { ....... };
int b[10] = { ....... };
...
if (a == b) ..... - 이 문장은 a와 b 배열의 시작 주소값을 비교하는 것입니다. 따라서 항상 거짓이고 별 의미가 없습니다.
배열의 내용을 비교하기 위해서는 다음과 같이 배열 요소값을 일일이 비교해야 합니다.
for(i = 0; i 10; i++){
if (a[i] != b[i]) break;
..