:이상한 scanf와 인수 코드의 라인에서 발생 될 것입니다 무엇
이 두 줄을 읽고 왜char Message[10];
scanf("%s%*",&Message,'?');
다음은 두 번째 줄을 igonre 것인가?
그것은 내게 scanf reference 참조
`printf("%s",Message)`
:이상한 scanf와 인수 코드의 라인에서 발생 될 것입니다 무엇
이 두 줄을 읽고 왜char Message[10];
scanf("%s%*",&Message,'?');
다음은 두 번째 줄을 igonre 것인가?
그것은 내게 scanf reference 참조
`printf("%s",Message)`
를 사용하여 출력 된 제 라인 준다 [형태]는 scanf와이되는 종류에 별표 프리픽스 (즉, "% * 타입]"형식 문자열을 형식 지정자, 예 : d
또는 s
)은 읽은 값을 무시한다는 것을 의미합니다. 그래서 '?' 매개 변수는 실제적으로 "자리 표시 자"로, scanf
이 두 값을 읽음을 나타냅니다.
그러나 질문 ("% *")에 표시된 형식 문자열은 잘못되었으므로 (형식 지정자가 누락되었습니다.) 표시된 호출이 정의되지 않은 동작을 초래한다는 것을 의미합니다.
'% *'는 완전한 형식 지정자가 아니기 때문에 (예 :'s'와 같이 무시할 변환 유형에 문자가 없습니다),'scanf '에 대한 전체 호출이 유효하지 않습니다. 그리고 이것이 내 downvote의 이유입니다. 다른 유권자 : 사실 확인! – u0b34a0f6ae
"이상한"방법 ?? "두 줄을 읽고 두 번째 줄을 읽는다." 뭐? –