스위치문 한글문자열 입력받게할순없는건가요?
본문
char c;
printf("하나 둘 셋 중 하나를입력하세요. \n");
fflush(stdout);
scanf("%c",&c);
switch (c) {
case '하나' : printf("하나\n",c); break;
case '둘' : printf("둘\n"); break;
case '셋' : printf("셋\n"); break;
default : printf("오류"); break;
}
여기서 하나를 입력하면 하나case가 출력되고할려고하는데
한글문자열은받을수없는건가요?
답변 1
#include <stdio.h>
#include <string.h>
int main()
{
const char *s[] = {"하나", "둘", "셋"};
char c[5], str[sizeof(s) * sizeof(s[0])];
int i=0, len = sizeof(s)/sizeof(s[0]);
for (; i<len; i++)
{
strcat(str,s[i]);
strcat(str," ");
}
while(1)
{
printf("%s 중 하나를 입력하세요. \n", str);
scanf("%s",&c);
for (i=0; i<len; i++)
{
if (strcmp(s[i], c)==0)
{
printf("%s \n\n", c);
break;;
}
}
if (i>=len)
{
printf("오류");
break;
}
}
return 0;
}
답변을 작성하시기 전에 로그인 해주세요.