채택완료

스위치문 한글문자열 입력받게할순없는건가요?

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개 / 댓글 1개

채택된 답변
+20 포인트
Copy
#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;}

답변에 대한 댓글 1개

이거잘안되는데요 전에꺼코드좀다시올려주세요

답변을 작성하려면 로그인이 필요합니다.