내가 커맨드 입력을 검증하기 위해 sscanf를()를 사용하기 위해 노력하고있어C의 sscanf를() 강제 번호 입력
I, 1, 0.1, 0.111이 통과하는 같은에만 일을 할 하지 A12 12A 또는 1.2A
나는
if (sscanf(input, "%f", &val) != 1) { // to check for 1 successful conversion
printf("invalid input");
}
을 시도하지만 유효하지 않은 입력뿐만 아니라 통과시키는 것 같은 것 같습니다.
어떤 조언이 필요합니까?
'scanf()'를 두 번 호출하지 마십시오. 'if()'는 첫 번째 검사가 성공했는지 여부를 검사하지 않고 두 번째 검사를 수행하고 있습니다. – Barmar
실제로 내 코드가 어떻게 보이는지는 아닙니다. 나는 다만 독자가 이해할 것을 돕고 싶었다.나는 두 번째 줄만 가지고있다. – namesake22
분명히 이해가되지 않았다. 실제 코드, 원하는 결과 및 대신 얻는 결과를 게시하십시오. – Barmar