저는 컴퓨터가 주어진 데이터 유형에 대한 입력을 얻는 방법에 대해 궁금해했습니다. 사용자가 입력 한 데이터 유형의 유형, 예를 들어, 주어진 입력이 char 또는 정수인지 또는 float인지 double인지 여부를 알고 싶습니다. 입력이 a
인 경우, 그 문자는 123
이라면 문자 여야한다고 알려야합니다. 12.1
이면 float
일 경우, 12.001
이면 double
유형입니다. 어떤 C 코드 함수도이를 수행 할 수 있습니까?C에서 데이터 유형을 교차 확인하는 방법은 무엇입니까?
C 코딩, 주어진 단일 입력의 올바른 데이터 유형을 반환하는 함수. 또한 scanf()
의 도움으로 이러한 의견을 얻도록 도와주세요.
에 오신 것을 환영합니다 스택 오버플로 :
여기에 테스트하고 이러한 유형을 분석 할 수있는 작은 기능입니다! [둘러보기] (http://stackoverflow.com/tour)를 읽고 [질문하는 방법] (http://stackoverflow.com/help/how-to-ask)을 읽고 질문에서 우리가 기대하는 바를 배우십시오. 여기에서 우리는 _from-stratch_ 코딩 서비스를 제공하지 않는다는 점에 유의하십시오. :-) –
'scanf'로 문자열을 가져온 다음 구문 분석을 통해 최상의 표현이 무엇인지 확인할 필요가 있습니다. 이 경우 구문 분석은 매우 간단합니다. 최소한의 명백한 가능한 형식에서 최소한의 형식으로 변환하려고 시도하십시오. –
thankyou.Im, 문자열을 선언하고 if() 문을 사용하여 숫자에 대한 문자 또는 ASCI 코드로 파싱 한 다음 number 일 경우 for() 루프를 사용하여 char no.to int no.Then으로 변환합니다. 문자열 123을 정수 1 * 100 + 2 * 10 + 3으로 정확하게 변환 할 수 있습니다. 문자열에 문자 '.'가 포함되어 있으면 THEN 그럼 난 구멍 용어를 더블처럼 123.2000 곱하기 123.2000 deny와 같은 double로 변환 할 필요가있다. if (double (int (123.000)) = 123.000)와 같은 float 또는 int에 맞는지 확인한다. 정수형 . if (double (int (123.100)) = 123.1000) float 데이터 유형에 적합합니다. else()는 double입니다. –